为什么大的数字给我一个整数(或者至少没有小数点),而小的数字给我一堆小数点?我设置精度或声明变量的方式是否错误
import math
from mpmath import *
mp.prec=1000
x = 5431526412865007456
print mpf((x)/6)
ACTUAL OUTPUT: 905254402144167909.0
WANTED OUTPUT: 905254402144167909.3333333333333333333333(…)
x = 5431526413
print mpf((x)/6.)
OUTPUT: 905254402.16666662693023681640625
尝试使用
mpf(x)/6
或mpf(x)/6.0
。代码不起作用的原因是它使用Python的常规规则进行除法,然后将其转换为任意精度的数字,而这将首先转换它,因此除法是使用任意精度的数学完成的相关问题 更多 >
编程相关推荐