Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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 角度:使用逗号格式化数字_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 角度:使用逗号格式化数字

Javascript 角度:使用逗号格式化数字,javascript,angular,typescript,Javascript,Angular,Typescript,标题非常概括了我的需要 123456789 => 123,456,789 12345 => 12,345 获得此转换的最佳方式是什么?不要建议使用Angular-2中的货币管道,因为我不需要在输出前添加$或货币符号。像这样使用DecimalPipe {{attr|number}} 无需使用管道即可在上获得文档,这是一种使用javascript回答问题的简单方法: var str = "The quick brown fox jumps over the lazy dogs.".r

标题非常概括了我的需要

123456789 => 123,456,789
12345 => 12,345

获得此转换的最佳方式是什么?不要建议使用Angular-2中的货币管道,因为我不需要在输出前添加$或货币符号。

像这样使用DecimalPipe

{{attr|number}}


无需使用管道即可在

上获得文档,这是一种使用javascript回答问题的简单方法:

var str = "The quick brown fox jumps over the lazy dogs.".replace(/(.{2})/g,"$1,");
这将输出
Th,e,qu,ic,k,br,ow,n,fo,x,ju,mp,s,ov,er,t,he,l,az,y,do,gs.

但我认为你的问题表述得很糟糕,所以,如果你想解析数字,你应该使用这个函数:

function numberWithCommas(x) {
    var parts = x.toString().split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return parts.join(".");
}
所以

这将输出
1234567

函数printNo(){
document.getElementById('text').innerHTML=
编号(1234355)。toLocaleString('en-GB');
}

CodeWarrior关于管道的回答非常适合前端显示。如果您的号码很容易在HTML中隔离和传输,建议使用。但有时,在组装用于显示的内容之前,在Typescript/Javascript中获取格式化的数字要方便得多

对于Angular中的Typescript,@Angular/common中的
formatNumber()
将以逗号分隔数字。将
num
作为字符串“12345”:

formatNumber(Number(num),'en-US','1.0-0')

将生成“12345”作为另一个字符串。显然,不同的地区会对数字进行不同的格式设置(“en-US”使用“,”和“.”),DigitInfo的第三个选项可以定义您是否需要小数(“1.0-0”表示“.”前一位,后零位)

您需要使用导入formatNumber

从'@angular/common'导入{formatNumber}


文档位于

可能与@gforce301重复这是一个不同的环境,op也需要angular2的解决方案,因为CodeWarrior用管道解决方案回答。
var num = numberWithCommas(1234567);
console.log(num);