python - 如何在 Python 中使数字更精确?

标签 python rounding precision

<分区>

我目前只是在学习 Python 的基础知识,我认为,作为一种学习练习,我会尝试编写一些近似于数字“e”的东西。无论如何,它总是给出小数点后 11 位的答案,我希望它给出更接近小数点后 1000 位的答案。我该怎么做?

最佳答案

您确定需要让它们“更精确”吗?还是您只需要查看比 Python 默认显示更多的数字?

>>> import math
>>> math.pi
3.141592653589793
>>>
>>> '{0:0.2f}'.format(math.pi)
'3.14'
>>>
>>> '{0:0.30f}'.format(math.pi)
'3.141592653589793115997963468544'
>>>
>>> '{0:0.60f}'.format(math.pi)
'3.141592653589793115997963468544185161590576171875000000000000'

但是,请注意

Floating point numbers are usually implemented using double in C; information about the precision and internal representation of floating point numbers for the machine on which your program is running is available in sys.float_info

我向你保证 pi 在 48 位数字后不会归零 :-)

关于python - 如何在 Python 中使数字更精确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19534743/

相关文章:

java - 在 Java 中将价格四舍五入到最接近的 5cent 倍数

c# - 试图模仿 Excel 舍入让我很伤心

Python isinstance() 的 float 失败断言测试

python - Tensorflow Adam 优化器 vs Keras Adam 优化器

python - Scikit 树状图 : How to disable ouput?

python - PyTest Tornado : 'SimpleAsyncHTTPClient' is not iterable

javascript - 为什么 Node.js 自动舍入我的 float ?

python - 预先检查 Django 管理复选框

java - 四舍五入到最接近的 4(简单数学)

r - 为什么我们渐进地接近值 0 "more"而不是值 1?