我有一个Angular 2 / Typescript应用程序字符串,其中包含数字表示形式,例如以下内容......
10000
10000.50
-10000
-10000.50
0
我想在千分之后添加逗号,例如......
10,000
10,000.50
-10,000
-10,000.50
0
这样做的最佳方式是什么?
我尝试了其他一些答案,但没有什么是对的。
例如,this.value.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
和this.value.toLocaleString();
似乎无法同时处理指令和小数点。
答案 0 :(得分:2)
你试过吗
var some_string_value = '-10000.50';
parseFloat(some_string_value).toLocaleString()
答案 1 :(得分:1)
使用“indexOf('。')”,拼接成两部分,然后使用你找到的方法。
function addComma(num){
//some type check here
var numStr = num.toString();
var intEnd = numStr.indexOf('.');
var onePart =numStr,otherPart ='';
if(intEnd !== -1){
var onePart = numStr.slice(0,intEnd);
var otherPart = numStr.slice(intEnd);
}
return onePart.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')+otherPart;
}
答案 2 :(得分:0)
您可以使用竖线,您可以在此处找到问题的完整答案:Add Comma Separated Thousands to Number Inputs in Angular2