我有一个 php 函数并且具有
phpans = round(53.955,2)
和 JavaScript 函数
var num = 53.955;
var jsans = num.toFixed(2);
console.log(jsans);
jsans 和 phpans 都给出了不同的 $phpans = 53.96 和 jsans = 53.95 。我不明白为什么会发生这种情况.. 感谢是提前
最佳答案
因为计算机无法正确表示 float 。可能是 53.95400000000009 或类似的东西。处理这个问题的方法是乘以 100,四舍五入,然后除以 100,这样计算机只处理整数。
var start = 53.955,
res1,
res2;
res1 = start.toFixed(2);
res2 = (start * 100).toFixed(0) / 100;
console.log(res1, res2);
//Outputs
"53.95"
53.96
关于javascript - PHP round($num,2) 和 javascript toFixed(2) 没有给出该值 53.955 的正确输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802830/