Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数字和点后的两个字符_Javascript_Jquery_Replace - Fatal编程技术网

Javascript 数字和点后的两个字符

Javascript 数字和点后的两个字符,javascript,jquery,replace,Javascript,Jquery,Replace,我有一个数字,例如: 25297710.1088 25 297 710.10 25297710.10 我需要在它们之间添加一点,并在点后留下两个字符。 例如: 25297710.1088 25 297 710.10 25297710.10 当我停在这里时: $(td).text().reverse().replace(/((?:\d{2})\d)/g, '$1 ').reverse()); String.prototype.reverse = function() { ret

我有一个数字,例如:

25297710.1088
25 297 710.10
25297710.10
我需要在它们之间添加一点,并在点后留下两个字符。 例如:

25297710.1088
25 297 710.10
25297710.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.1088
25 297 710.10
25297710.10
然后我得到:

25 297 710.10
没关系


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

您可以使用RegExp格式化数字/字符串。使用相关的toString方法将输入转换为字符串

函数格式NumberInput{ 返回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=2545454.2254; var num3=2325454511112.335412231312312312; console.logformatNumberstr; console.logformatNumbernum1; console.logformatNumbernum2;
console.logformatNumbernum3 我认为你可以做下一步:

你有25297710.10

2您可以找到点符号->@pos的位置

3在@pos和字符串末尾之间的范围内替换字符串中的位


4将点后的字符串剪切为2个字符

按点拆分字符串,然后在操作后将剪切剩余部分添加到新字符串中。你知道吗?谢尔盖,我试试这个。谢谢。Hüseyin Okumuş-我想,thanksIt不起作用,因为它不会在点后留下两个字符,如果我们有数字,例如:2545454.1054-也不起作用。修复。再试一次,很好。我在返回输入时更新函数.toString.replace/\d{2}\d*$/,$1.replace/\B?=\d{3}+\d/g;但当数字为22000时,我得到了22,我将实现这个。谢谢