Discuss / Python / 3.12534+3.2 = 6.325340000000001 ?

3.12534+3.2 = 6.325340000000001 ?

Topic source

今天开始学python。

谁能解释一下?

print(3.12534+3.2)

6.325340000000001 

计算结果不对啊。

霏月雨

#2 Created at ... [Delete] [Delete and Lock User]

感谢你这个例子,网上查了下也是长知识了,原来浮点数的精度问题会影响计算

碧_Loryn

#3 Created at ... [Delete] [Delete and Lock User]

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。——摘自“数据类型和变量”

print(3.12533+3.2)

6.32533

print(3.12535+3.2)

6.32535

结果都正确,为什么?

茫羊0223

#5 Created at ... [Delete] [Delete and Lock User]

我这边显示6.32535,也是正确的,这是为啥

vibeme

#6 Created at ... [Delete] [Delete and Lock User]

你用0.1+0.2,然后会得到一个神奇的结果。

好像python3.9改进了


  • 1

Reply