首页 > 解决方案 > 如何修改 Angular 货币的小数位数?

问题描述

{{ 10000 | currency:'COP':'':'1.2-2'}}

结果 = 10.000,00

我需要以小尺寸 10.000, 00显示小数位

解决了

在为另一个人服务的情况下,我解决了如下

@Pipe({
  name: 'myCurrency'
})
export class MyCurrencyPipe implements PipeTransform {
  constructor(private sanitizer: DomSanitizer) { }  
  transform(num: any, currencyCode: string, showSymbol: boolean, digits: string): any {
    let value = new CurrencyPipe(navigator.language).transform(num, currencyCode, showSymbol, digits);
    let lastDigit = '<span style="font-size: 80%;">' + value.slice(-3) + '</span>';
    let firstDigit = value.match(/\d/);
    let symbol = value.slice(0, firstDigit.index);
    let amount = value.slice(firstDigit.index);
    let amountLast = symbol +amount.slice(0, -3) + lastDigit;
    const sanitizedContent = DOMPurify.sanitize(amountLast);
    return this.sanitizer.bypassSecurityTrustHtml(sanitizedContent);   

  }

}

标签: angular

解决方案


您的语法中有一个小错字。您可以在Angular Currency Pipe Docs文档中找到正确的语法。这是它的样子:

{{10000 | currency:"COP":"symbol":"1.2-2"}}

如果你想玩它,我也在这里创建了一个有效的StackBlitz 示例。


推荐阅读