ens*_*are 2 python floating-point precision
我试图将我的加法输出显示超过2位小数.
import time
import random
max_number = 1000000.0
random_time = random.randrange(1, max_number-1) / max_number
range_key = int(time.time()) + random_time
range_key
>>> 1347053222.790799
print range_key
>>> 1347053222.79
Run Code Online (Sandbox Code Playgroud)
如何打印完整的号码?如果这是一个函数,我怎么能返回完整的数字?
当将float转换为字符串(打印自动执行此操作)时,python将其限制为仅有12个最高位数加上小数点.
从函数返回数字时,您始终可以获得完整的精度.
要打印更多数字(如果可用),请使用字符串格式:
print '%f' % range_key # prints 1347053958.526874
Run Code Online (Sandbox Code Playgroud)
默认为6位数,但您可以指定更高的精度:
print '%.10f' % range_key # prints 1347053958.5268740654
Run Code Online (Sandbox Code Playgroud)
或者,python也提供了一种更新的字符串格式化方法:
print '{0:.10f}'.format(range_key) # prints 1347053958.5268740654
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2210 次 |
| 最近记录: |