将数字字符串转换为逗号版本

时间:2017-02-15 08:55:49

标签: javascript angular typescript

我有一个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();似乎无法同时处理指令和小数点。

3 个答案:

答案 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