解析 toLocaleString 并返回 float 失去精度

use*_*470 7 javascript

这是按预期工作的:

parseFloat(newValue).toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 })将产生一个字符串:"34.886,55"

这不会按预期工作:

因为parseFloat("34.886,55") 我得到了一个数字,但我失去了逗号后的所有内容:34.886

我该如何解决这个问题?

Sal*_*ter -2

这是数字解析的简单示例... 逗号在数字中无效,只有句号代表小数点分隔符。如果遇到,字符串转换就会停止,正如您在第二个日志中看到的那样。另请检查第三个日志,我添加了一个检查,检查该值是否低于 100,使其为 true,从而更明显地表明您不是在使用千位分隔符,而是在使用小数分隔符。

console.log(parseFloat("34.886.55"));
console.log(parseFloat("34,886.55"));
console.log(parseFloat("34.886,55"), parseFloat("34.886,55") < 100);
Run Code Online (Sandbox Code Playgroud)