我有一个号码,例如:
25297710.1088
我需要在它们之间添加一点,并在该点之后留下两个字符。 例如:
25 297 710.10
我在此停下来了:
$(td).text().reverse().replace(/((?:\d{2})\d)/g, '$1 ').reverse());
String.prototype.reverse = function() {
return this.split('').reverse().join('');
}
从这段代码中我得到以下内容:
25 297 710.1 088
其中$(td).text()
我从表格中的行的单元格中得到一个数字。
如果我有数字,例如:
25297710.10
然后我得到:
25 297 710.10
没关系。
我需要做些什么才能在这一点之后留下两个字符?
答案 0 :(得分:1)
您可以使用RegExp格式化数字/字符串。使用相关的toString方法将输入转换为字符串。
function formatNumber(input) {
return input.toString().replace(/\d*(\d{2})(\d{3})(\d{3})\.(\d{2})\d*$/, "$1 $2 $3.$4");
}
var str = "25297710.1088";
var num1 = 25297710.1088;
var num2 = 2545454545454.2254;
var num3 = 232545454511112.3354122313123123;
console.log(formatNumber(str));
console.log(formatNumber(num1));
console.log(formatNumber(num2));
console.log(formatNumber(num3));

答案 1 :(得分:0)
我认为你可以采取下一步措施:
1)你有25 297 710.10
2)你找到点符号的位置 - > @pos
3)在@pos和字符串结尾之间的范围内替换字符串中的位
4)你将点后的字符串剪切为2个字符