Noo*_*ooo 7 python floating-point precision
我有一个大的十进制数,例如2的平方根,我想查看前100个十进制数字.但是,float不支持此功能:1.4142135623730951454746218587388284504413604736328125000000000000000000000000000000000000000000000000
做这个的最好方式是什么?我不想进口任何东西,最好是
如果您对精度的要求是100位十进制数字,我认为您必须使用decimal.Decimal.
将float在Python不适合这种精确计算的.
使用decimal.Decimal几乎一样简单float,你可以做+,-,*,/和其他一些常用的计算直接之间的任何decimal.Decimal不考虑.
此外,decimal.Decimal支持直接设置您想要的精度:
>>> from decimal import getcontext, Decimal
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')
Run Code Online (Sandbox Code Playgroud)
您可以在此Python2 API或Python3 API中找到更多详细信息
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |