jQuery数字格式无法正常工作

时间:2016-08-21 13:02:08

标签: jquery number-formatting

我的用户输入包含带小数的数字。我必须将该输入修改为可用于进行计算的格式。

所以,请考虑以下事项:

input         -->    should become
10,123.15     -->    10.123,15
10.123,15     -->    10.123,15
10,123.1      -->    10.123,10
10.123,1      -->    10.123,10
10,123        -->    10,123,00
10.123        -->    10.123,00
10.123,13562  -->    10.123,14
10,123.13562  -->    10.123,14

换句话说:使用千位分隔符的点,小数分隔符的逗号,总是返回一个四舍五入的二进制数。

我尝试使用正则表达式,副词,圆形,但我有点卡住了。我现在正在为前面提到的前两个例子工作,但现在它不适用于其余的。

现在看了几个小时,但也许你可以帮我吧? JQuery Number Formatting确实对我有所帮助,但仍然没有为上述所有示例工作。

如果有人可以帮助我,我会很高兴的!

2 个答案:

答案 0 :(得分:1)

如果您提供以您需要的方式格式化数字的区域设置,则可以使用toLocaleString()来实现此目的;例如de-DE。试试这个:



var foo = '10,123.15'; // number as string
var num = parseFloat(foo.replace(',', '')); // remove the , and convert to float
console.log(num.toLocaleString('de-DE')); // format to locale




答案 1 :(得分:0)

回答!

我尝试了它们,因为它我有更多的想法。我通过从右到左迭代输入val来解决它,同时测试char是逗号还是点。然后采取相应行动现在工作正常!

再次感谢,

此致