首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局更改Angular7十进制格式

全局更改Angular7十进制格式
EN

Stack Overflow用户
提问于 2019-04-12 10:53:48
回答 2查看 1.4K关注 0票数 3

如何更改angular7项目的十进制格式?我已经研究过了,但我只是为小范围找到了解决方案,并且肯定有一种改变区域设置的方法(我认为它与此相关),将区域格式化设置为整个项目的默认设置。

为了更简洁,我需要把逗号换成小数点,小数点后面的逗号是:18,245.23欧元--> 18.245,23欧元。

印刷:<span>{{totalPricing | number:'1.0-2'}}€<span>

有人知道怎么做吗??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-12 11:01:12

我建议您不要使用自定义DateCurrency类型的变量格式,

您应该定义您的LOCALE_ID,这意味着您不需要为DateCurrency (或货币、时间等)使用自定义格式。变量。将此添加到顶部根module.ts中,

代码语言:javascript
复制
import { registerLocaleData } from '@angular/common';
import localeEs from '@angular/common/locales/es';
registerLocaleData(localeEs, 'es');
import { LOCALE_ID } from '@angular/core';

@NgModule({
  imports: [
  ...
  ],
  ...
  providers: [{ provide: LOCALE_ID, useValue: 'es' }]
})

来源:ID#description

更新: 这里正在运行stackblitz示例。

票数 4
EN

Stack Overflow用户

发布于 2019-04-12 11:19:40

可以创建用于格式化货币的pipe

代码语言:javascript
复制
@Pipe({
    name: 'currencyFormat'
})
export class CurrencyFormat {
    transform(value: number,
        currencySign: string = '€ ',
        decimalLength: number = 2, 
        chunkDelimiter: string = '.', 
        decimalDelimiter:string = ',',
        chunkLength: number = 3): string {

        value /= 100;

        let result = '\\d(?=(\\d{' + chunkLength + '})+' + (decimalLength > 0 ? '\\D' : '$') + ')';
        let num = value.toFixed(Math.max(0, ~~decimalLength));

        return (decimalDelimiter ? num.replace('.', decimalDelimiter) : num).replace(new RegExp(result, 'g'), '$&' + chunkDelimiter) + currencySign;
    }
}

演示:https://stackblitz.com/edit/angular-currency-pipe-format

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55650031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档