点数

时间:2017-10-18 20:04:29

标签: javascript jquery replace

我有一个号码,例如:

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

没关系。

我需要做些什么才能在这一点之后留下两个字符?

2 个答案:

答案 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个字符