I want to parse a string and I used parseFloat()
, but it removes all the trailing zeroes. How to prevent this - I need to parse the string exactly - if I have 2.5000, I need exactly the same result as a floating-point number - 2.5000.
问问题
23257 次
1 回答
25
你可以做
parseFloat(2.5).toFixed(4);
如果您需要完全相同的浮点数,您可能需要计算出数量
function parseFloatToFixed(string) {
return parseFloat(string).toFixed(string.split('.')[1].length);
}
console.log(parseFloatToFixed('2.54355'));
但我真的不明白为什么你甚至需要使用 parseFloat 呢?javascript 中的数字不保留浮点数。因此,您必须将它们保留为字符串,并将它们作为浮点数进行计算。
也不要忘记 toFixed 在不同的浏览器中可能有奇怪的舍入问题,例如
console.log((0.1).toFixed(20));
于 2014-07-22T14:04:16.317 回答