Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数字格式化为每1000个因数处有逗号_Javascript_Angular_Typescript_Pipes Filters - Fatal编程技术网

Javascript 将数字格式化为每1000个因数处有逗号

Javascript 将数字格式化为每1000个因数处有逗号,javascript,angular,typescript,pipes-filters,Javascript,Angular,Typescript,Pipes Filters,我需要将像1234567这样的数字格式化为1234567,但我不知道怎么做。我尝试使用TypeScript的货币管道,但在数字前面会显示美元或美元。我想删除它并以这种方式格式化数字1234567。我该怎么做呢?只需使用(十进制)管道即可 举个例子: {{ '1234567' | number:'1.0':'en-US' }} 将产生输出1234567 如果您没有更改默认区域设置(通过调用registerLocaleData()),那么简单的{{1234567'| number}}也可以使用。最

我需要将像
1234567
这样的数字格式化为
1234567
,但我不知道怎么做。我尝试使用TypeScript的货币管道,但在数字前面会显示美元或美元。我想删除它并以这种方式格式化数字
1234567
。我该怎么做呢?

只需使用(十进制)管道即可

举个例子:

{{ '1234567' | number:'1.0':'en-US' }}
将产生输出
1234567


如果您没有更改默认区域设置(通过调用
registerLocaleData()
),那么简单的
{{1234567'| number}}
也可以使用。

最后一个答案将生成1234567.00

注意2个小数

使用以下管道:

{{element.total | number:'2.}


为了按照的官方角度文档生成1234567

,该文档是用结构
{{value_expression | number[:digitsInfo[:locale]]}
定义的,我能够通过使用以下方法实现所需的数字格式:

{{ myValue | number:'':'en' }}
空字符串(
'
)会导致管道使用默认的
digitsInfo
值来表示
minIntegerDigits
(1)、
minFractionDigits
(0)和
maxFractionDigits
(3)


设置为
en
的区域设置会导致显示值时使用逗号标记千、百万等位置。

我很困惑:如果不需要货币前缀,为什么要使用货币管道?你真正的问题是“如何设置一个数字的格式,使其每千个因子都有逗号”?可能是@Mike'Pomax'Kamermans的重复项是的,我只需要用这种方式设置一个数字的格式1234567,1234567。因此,尝试使用currency pipe,因为它以我想要的方式格式化数字,但前缀为usd。这可能重复,这也是一个提示,提示您搜索它-JavaScript已经内置了此功能,您不需要angular或typescript来执行此操作,因此如果您搜索“在JavaScript中为数字添加逗号”您完全可以找到这个问题的答案(使用JS的
toLocaleString()
)或者更简单的
(123456789)。toLocaleString()
,因为JavaScript有这个内置=)这可能是最好的解决方案,但是使用示例会使这个答案比只使用链接的答案更有用。@Aurora0001,示例添加。我没想到这个问题会有这么多人参与:)@Mike,这是一个非常有限且不稳定的解决方案。对我来说
(1234567)。toLocaleString()
产生
1234567
。即使结果是正确的,当有更好的方法可用时,我也不会在一个严肃的项目中使用它。@DanielKucal请记住添加本地代码本身<代码>(1234567)。如果需要逗号,请使用本地字符串(“en”)。使用显式区域设置,这是最正确的解决方案。这会生成一位数,如01、02、03等。要仅添加逗号,您可以使用
{{element.total | number}}
。在注释中提供链接,而不是复制粘贴相同的答案。如果我没有在模板中添加管道的选项,我们可以在组件文件中做些什么来修改数据?使用这些(取自):num3.toFixed()是177 num3.toFixed(2)是177.23 num3.toFixed(6)是177.234000,在这个
{myVAlue | number}}
上进行背驮。