因此,在尝试将浮点数转换为整数时,我遇到了一个怪异的问题。我的代码当前如下所示:
from math import gcd
def dostuff(n,m):
L = np.sqrt(n**2+m**2+n*m)
dR = gcd(2*m+n,2*n+m)
atoms=4*L**2/dR
print(atoms)
atoms = int(atoms)
print(atoms)
当我以n = 4和m = 4运行此代码时,第一张打印返回16.0,而第二张打印返回15。这是什么原因,我有什么办法使第二张返回16代替?
您是否尝试过舍入功能?round(atoms)将四舍五入到最接近的整数5.6将为6和5.4将为5如果要上去,请使用ceil(原子),否则使用floor(原子)。希望对您有帮助!