最近做一个报价计算器。
result = 1053*area*1.08;
console.log(result);
如果area的值是100
那么输入为113724.00000000001
这是什么奇怪的问题呢?
问题1.
如何对计算结果保留2位小数。
问题2:
是什么原因造成了输出的。00000000001?
求高手指点。
最近做一个报价计算器。
result = 1053*area*1.08;
console.log(result);
如果area的值是100
那么输入为113724.00000000001
这是什么奇怪的问题呢?
问题1.
如何对计算结果保留2位小数。
问题2:
是什么原因造成了输出的。00000000001?
求高手指点。
一个十进制的有限小数,转化成二进制后可能会变成无限循环小数
于是,就出现了这样的误差
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
浮点运算会有精度损失,