python - 如果没有 Decimal 模块, float 中是否可以有超过 15 位十进制数字?

标签 python floating-point precision floating-accuracy

是否可以在 float 中存储超过15位数字。
例如,我有这个float phi

示例:

phi = 21.618033988749894848204586834365 # 30 decimal digits

print(phi) # -> ~21.618033988749893, 15 imprecise decimal digits

如何保证在不使用 Decimal 类的情况下从该浮点中获得超过 15 个准确位数字?

注意:我知道这不适用,因为 Decimal 内置于 Python 中。我将其开放以供其他有类似情况的人引用,但没有意识到 Decimal 是内置的。

最佳答案

float 是固定精度的。它们实际上无法存储您试图塞入其中的数据量。您将必须使用任意精度的数据类型; decimal.Decimal 是其中之一,但根据您想要执行的操作,还有其他可能更有用。

关于python - 如果没有 Decimal 模块, float 中是否可以有超过 15 位十进制数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65708019/

相关文章:

python - Pandas 数据框多行查询

ios - NSString float ……如果NSString不是数字并且包含字母数字字符,会发生什么?

python - 打印任意数量的 float

floating-point - 在 Rust 中将 f64 舍入到最近的 i64

java - tan 45 给我 0.9999

python - 字符串切片、迭代和列表问题

Python:使用 range() 和 "".join()

python - 在 Atom 中编写 Python 代码时,是否有一种巧妙的方法来调试 Python 代码?

haskell - 将 Haskell Word32/64 中的 IEEE 754 浮点与 Haskell Float/Double 相互转换

r - double 据类型和数字数据类型之间的区别