当我减去6.4-1.6时,我在JS中得到答案为4.800000000000001,但我需要4.8而不使用toFixed(),toPrecision()和Math.round()。任何的想法???
谢谢,
晶
答案 0 :(得分:16)
在进行减法之前转换为整数以避免浮点运算出现问题:
(6.4 * 10 - 1.6 * 10) / 10
请参阅What Every Programmer Should Know About Floating-Point Arithmetic
答案 1 :(得分:1)
这是IEEE 754浮点数的well-known limitation。有关解决方案,请参阅How to deal with floating point number precision in JavaScript?。