嗨我需要格式化我的号码以防止多次小数
我需要像
1.123 its good
1.12345678 its good too
1.12345678900001 format to 1.12345678 with maximum 8 decimal
现在我只使用一个函数来添加逗号但不能使用十进制
function commas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
由于
答案 0 :(得分:0)
我建议你使用这个jQuery插件。您可以使用此插件格式化文本节点,根据需要输入节点的值。
如果您不想使用此插件,也可以参考格式化方法。
您可以在此插件中引用format
方法。
主要格式正则表达式是:
integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, options.thousands);
答案 1 :(得分:0)
也许这就是诀窍:
function commas(nStr,maxDecimals){
var x = nStr.split('.');
var x1 = x[0];
var x2 = x.length > 1 ? '.' + x[1] : '';
x1 = x1.replace('.',','); //replace . into ,
x2 = x2.substr(0, maxDecimals) ; //select the max amount of decimals
return x1 + x2;
}