Python:当我转换为字符串时,如何近似浮点数?

时间:2012-10-30 09:42:09

标签: python string floating-point python-2.7

我有一个计时模块:

start_timing = time.time()
#stuff happening here    
report_timing["INT_MODULE"] = time.time()- start_timing

如果我使用str(report_timing["INT_MODULE"])我得到的是很长的:0.000441074371338

是否有一种标准的方法可以将此浮点数舍入为0.0004或其他方式来表示更少的数字,例如440 microseconds,换句话说,转换时间的标准方式?

3 个答案:

答案 0 :(得分:1)

report_timing [“INT_MODULE”] = int((time.time() - start_timing)* 1000.0)/ 1000

答案 1 :(得分:1)

您可以尝试一些字符串格式:

In [1]: strs=0.000441074371338

In [2]: "{0:e}".format(strs)
Out[2]: '4.410744e-04'

In [3]: "{0:.4f}".format(strs)
Out[3]: '0.0004'

In [9]: "{0:.0f} us".format(strs*1000*1000)
Out[9]: '441 us'

答案 2 :(得分:0)

您可以使用默认的内置函数对长整数进行舍入; http://docs.python.org/2/library/functions.html#round

至于将其转换为微秒,我恐怕无法帮助。