为了账号安全,请及时绑定邮箱和手机立即绑定

使用 int() 进行转换将 16.0 转换为 15

使用 int() 进行转换将 16.0 转换为 15

慕无忌1623718 2022-10-11 16:02:24
所以我在尝试将浮点数转换为整数时遇到了一个奇怪的问题。我的代码目前如下所示: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?
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

你试过圆形功能吗?round(atoms) 它将四舍五入到最接近的整数 5.6 将是 6,5.4 将是 5,如果你想向上使用 ceil(atoms),否则使用 floor(atoms)。希望这对你有帮助!

查看完整回答
反对 回复 2022-10-11
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信