Python 使用np.arange()时,它以错误的步长递增

Python 使用np.arange()时,它以错误的步长递增,python,numpy,Python,Numpy,输出: for i in np.arange(0.0,1.1,0.1): print(i) 预期产出: 0.0 0.1 0.2 0.30000000000000004 0.4 0.5 0.6000000000000001 0.7000000000000001 0.8 0.9 1.0 它并没有以错误的步长递增,这些只是浮点错误。发件人: 这可以被认为是Python中的一个bug,但事实并非如此。这与Python关系不大,而与底层平台如何处理浮点数关系更大。这是在系统内部处理浮点数时遇到

输出:

for i in np.arange(0.0,1.1,0.1):
    print(i)
预期产出:

0.0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6000000000000001
0.7000000000000001
0.8
0.9
1.0

它并没有以错误的步长递增,这些只是浮点错误。发件人:

这可以被认为是Python中的一个bug,但事实并非如此。这与Python关系不大,而与底层平台如何处理浮点数关系更大。这是在系统内部处理浮点数时遇到的正常情况。当浮点数的内部表示法使用固定数量的二进制数字来表示十进制数时,这是一个问题。一些十进制数很难用二进制表示,因此在许多情况下,它会导致较小的舍入误差


参考这篇文章来理解为什么会发生这样的事情,这能回答你的问题吗?
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0