大浮点数转换为整数

huangapple go评论62阅读模式
英文:

Conversion of a large float to an int

问题

当我将n通过round函数转换为整数时,它会提供给我一个完全不同的数字,我想这是由于浮点精度限制导致的。有没有办法将该数字四舍五入为整数。我不需要担心任何其他小数点,只要是.0。

英文:

Suppose I have this large number,x

3333333333333333333333333333333333333333333333333333333333333 (which I want)

and this large number,n
3333333333333333333333333333333333333333333333333333333333333.0.

When I convert n into an int through the round function, it provides me with a completely different number, which I suppose is because of floating point precision limitations.

Is there anyway to round of that number into a integer. I don't have to worry about any other decimal points, just .0.

答案1

得分: 0

from decimal import Decimal

print(int(Decimal("3333333333333333333333333333333333333333333333333333333333333.0")))

Output:

3333333333333333333333333333333333333333333333333333333333333
英文:
from decimal import Decimal

print(int(Decimal("3333333333333333333333333333333333333333333333333333333333333.0")))

Output:

3333333333333333333333333333333333333333333333333333333333333

huangapple
  • 本文由 发表于 2023年6月19日 17:14:12
  • 转载请务必保留本文链接:https://go.coder-hub.com/76505218.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定