0.699 x 100 = 69.89999999999999?

Sir*_*ber 1 javascript php math decimal floating-accuracy

可能重复:
为什么99.99/100 = 0.9998999999999999
处理浮点数的精度问题

我在php和javascript中看到过这个问题.我有这个号码:float 0.699

如果我这样做:0.699 x 100 = 69.89999999999999

为什么?

编辑

round(0.699 x 10, 2):float 69.90000000000001

Emi*_*röm 10

浮点运算不精确.

请参阅维基百科上的浮点,以深入讨论该问题.

  • 1 + 1 = 3.将十进制数设为0使得1不能为大数. (2认同)

Ell*_*ott 5

这是过去帮助过我的东西.它与二进制表示事物有很大关系.基本上冗长的二进制文章没有一个确切的数字,所有实数的大数字.

以下链接将为您更详细地描述.

每个计算机科学家应该知道的浮点运算