格式化数字以使每1000个因子具有逗号

sum*_*man 11 javascript pipes-filters typescript angular

我需要格式化一个数字1234567,1,234,567但不知道如何做到这一点.我尝试使用TypeScript的货币管道但是在数字前面给出了USD或$.我想删除它并以这种方式格式化数字1,234,567.我怎样才能做到这一点?

Dan*_*cal 23

只需使用数字管道即可.

举个例子:

{{ '1234567' | number:'.2'}}
Run Code Online (Sandbox Code Playgroud)

会产生输出 1,234,567

  • 甚至更简单,`(123456789).toLocaleString()`,因为JavaScript内置了这个=) (8认同)
  • @DanielKucal记得添加本地本身.`(1234567).toLocaleString("en")`如果你需要逗号.使用显式语言环境,此*是*最正确的解决方案 (3认同)
  • @Mike,这是一个非常有限且不稳定的解决方案.对我来说`(1234567).toLocaleString()`生成`1 234 567`.即使结果是正确的,当更好的方法可用时,我也不会在一个严肃的项目中使用它. (2认同)

Ita*_*mar 9

最后一个答案将产生1,234,567.00

注意2位小数.

使用以下管道:

{{element.total | 2号.'}}

为了生产1,234,567

  • 这会产生单个数字,如01,02,03等.要添加逗号,您只需使用`{{element.total | number}}`. (5认同)

Kab*_*bb5 5

根据使用结构定义的DecimalPipe的官方 Angular 文档{{ value_expression | number [ : digitsInfo [ : locale ] ] }},我能够使用以下方法实现所需的数字格式:

{{ myValue | number:'':'en' }}
Run Code Online (Sandbox Code Playgroud)

空字符串 ( '') 使管道使用(1)、(0) 和(3)的默认digitsInfo值。minIntegerDigitsminFractionDigitsmaxFractionDigits

设置为的语言环境en会导致值以逗号标记显示千位、百万位等位置。