Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python代码未按指定数量递增_Python_Floating Point_Increment - Fatal编程技术网

Python代码未按指定数量递增

Python代码未按指定数量递增,python,floating-point,increment,Python,Floating Point,Increment,说来话长,我试图画一些三角图,但我将一个值增加0.1以获得一个精确的转折点,然而当增加时,它将增加0.10000000006或类似的值,所以我无法检查它是否等于另一个值 我在另一个文件上运行了一个测试,以检查问题是否是由于某些正弦转换、内存泄漏或其他原因造成的(我不确定),我在另一个文件中遇到了相同的问题,这只是一个for循环 导入数学 xNum=0 对于范围(180)内的x: 打印(xNum) xNum=0.1+xNum 当打印xNum时,我得到的值像是0.40000000006,我不知道为

说来话长,我试图画一些三角图,但我将一个值增加0.1以获得一个精确的转折点,然而当增加时,它将增加0.10000000006或类似的值,所以我无法检查它是否等于另一个值

我在另一个文件上运行了一个测试,以检查问题是否是由于某些正弦转换、内存泄漏或其他原因造成的(我不确定),我在另一个文件中遇到了相同的问题,这只是一个for循环

导入数学
xNum=0
对于范围(180)内的x:
打印(xNum)
xNum=0.1+xNum

当打印xNum时,我得到的值像是0.40000000006,我不知道为什么它不将xNum增加0.1。我使用了xNum+=0.1,但是在输出上似乎没有什么不同

您可以在中阅读有关浮点问题的内容

作为代码的快速修复,您可以使用标准库中的
decimal
模块:

from decimal import Decimal

xNum = 0
for x in range(180):
    print(xNum)
    xNum = Decimal('0.1') + xNum
这张照片是:

0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
..etc.

您可以在中阅读有关浮点问题的信息

作为代码的快速修复,您可以使用标准库中的
decimal
模块:

from decimal import Decimal

xNum = 0
for x in range(180):
    print(xNum)
    xNum = Decimal('0.1') + xNum
这张照片是:

0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
..etc.
请看这个问题:如果您需要更精确的使用或。请看这个问题:如果您需要更精确的使用或。