Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.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_Python 3.x_Python 2.7_Precision_Floating Accuracy - Fatal编程技术网

如何在python中使用大浮点数执行算术

如何在python中使用大浮点数执行算术,python,python-3.x,python-2.7,precision,floating-accuracy,Python,Python 3.x,Python 2.7,Precision,Floating Accuracy,我有两个数字a和b: a=156239482.739072 b=156239482.739071 如果我在python中执行a-b,则得到1.1920928955078125e-06。但是,我想要0.000001,这是减法后的正确答案 任何帮助都将不胜感激。先谢谢你 t = float(1562239482.739071) T = float(1562239482.739072) D = float(T - t) print(float(D)) 或 使用上述两种方法,我得到了相同的答案1.19

我有两个数字a和b: a=156239482.739072 b=156239482.739071

如果我在python中执行a-b,则得到1.1920928955078125e-06。但是,我想要0.000001,这是减法后的正确答案

任何帮助都将不胜感激。先谢谢你

t = float(1562239482.739071)
T = float(1562239482.739072)
D = float(T - t)
print(float(D))

使用上述两种方法,我得到了相同的答案1.1920928955078125e-06。但是,我希望结果为0.000001

预期结果:0.000001
结果:1.1920928955078125e-06这是浮点运算的常见问题。使用模块

您可以使用十进制

从十进制输入十进制

a=十进制('156239482.739071')

b=十进制('156239482.739072')

c=b-a

印刷品(c)


这将是您想要的答案

十进制
仍然是浮点。它只是十进制的,可配置的精度浮点。舍入问题仍然存在。打印和内部表示都是十进制的事实使得舍入更加直观,但这并不能消除问题。“使用
十进制
模块”是一个错误的、误导性的答案,但没有解释
十进制
模块的功能和实际功能。首先,答案应该是独立的,没有阅读链接。另一方面,您展示的是
decimal
模块,就好像简单地使用它会自动解决这类问题一样。
t = 1562239482.739071
T = 1562239482.739072
D = T - t 
print (D)