仅对数字值使用最右边的小数点,删除其余的

时间:2012-10-17 11:54:38

标签: javascript numbers decimal

当用户意外输入两个以上的小数点时,我想只使用最右边的小数点。

所以:1234..55等于1234.55

很容易打字错误,但我还没有看到任何好的代码来处理这个Javascript

2 个答案:

答案 0 :(得分:3)

找到最后一个句点,将字符串拆分,从第一个字符串中删除句点,然后再将它们组合在一起:

var index = input.lastIndexOf('.');
if (index != -1) {
    input = input.substr(0, index).replace(/\./g, '') + input.substr(index);
}

演示:http://jsfiddle.net/Guffa/3jBb5/

答案 1 :(得分:0)

您可以简单地替换多次出现。 (点)单身。 (点)

通过这种方式,它将能够处理更多案件。

var str='1234...55';
var n=str.replace(/(\.)+/,".");
alert(n);

演示: http://jsfiddle.net/DxKx7/