大家在 python 3.6 中试试 print(0.4 + 0.8)
为什么会这样?
为什么会这样?
1
windfarer Sep 15, 2018
|
2
xupefei Sep 15, 2018
|
3
cabbage Sep 15, 2018 via Android
你可以试试,所有编程语言包括 js 都是这样的(浮点类)
|
4
n2ex2 Sep 15, 2018 via Android
周经了
|
5
MonoLogueChi Sep 15, 2018 via Android
应该是因为浮点运算的原因,二进制无法准确表示十进制小数。十进制小数转换成二进制,然后再转换成十进制,就会有一定的误差,这个误差大小是根据你的精度确定的,比如你用双精度,转换之后中间的 0 要比用单精度多。
结果是 1.2000000000000000002 还是 1.199999999999999998,要看你对于进制转换是怎么取舍的。 |
6
jingniao Sep 15, 2018 via Android
从我注册这站,这第几次了?
感觉可以出个集合贴了(≧▽≦) |
7
zn Sep 15, 2018
这位同学还是得多学习点姿势才行。
|
8
ambmh Sep 15, 2018
浮点误差,excel 也经常这样
|
9
Tompes Sep 16, 2018
浮点运算都是不准确的
|