如何用JavaScript将逗号改为点号

138 阅读1分钟

我遇到了一个问题:我有一个包含小数的字符串,但是用户可以用两种方式来写,用点,或者用逗号。

0,32
0.32

不同的国家使用不同的方式来区分数字的积分部分和小数部分。

所以我决定只要发现有逗号,就将字符串转换为使用点。

我使用了一个简单的正则表达式来做到这一点。

let value = '0,32'
value = value.replace(/,/g, '.') 
//value is now '0.32'

你可以用replace(/\./g, ',') (注意在. 前面的\ ,以逃避它,因为它是正则表达式中的一个特殊字符)来做相反的事情

正则表达式中的g 标志确保如果有多个逗号(或点,在第二个例子中)的实例,它们都被转换。

这并不适用于我们的用例,我认为我们需要做更多的验证来检查我们输入的完整性,但这是一个开始。

在我的例子中,在做完这个替换后,我调用了parseFloat(value)来从字符串中获取浮点数,然后我用toFixed(2)将小数点限制为2。

value = parseFloat(value).toFixed(2)