避免在新的python字符串格式中舍入

abs*_*urd 4 python string format

我想用我的脚本中的新python字符串格式化语法替换旧的字符串格式化行为,但是当我处理浮点数时如何避免舍入?

旧版本

print ('%02d:%02d:%02d' % (0.0,0.9,67.5))
Run Code Online (Sandbox Code Playgroud)

产量 00:00:67

而我(显然是错误的)翻译成新语法

print ('{0:0>2.0f}:{1:0>2.0f}:{2:0>2.0f}'.format(0.0,0.9,67.5))
Run Code Online (Sandbox Code Playgroud)

收益率00:01:68.

如何避免在这里舍入并使用新格式语法获取旧输出?

fal*_*tru 5

将参数显式转换为ints:

>>> '{:02}:{:02}:{:02}'.format(int(0.0), int(0.9), int(67.5))
'00:00:67'
Run Code Online (Sandbox Code Playgroud)

顺便说一下,如果使用Python 2.7 +,Python 3.1+(自动编号),则不需要指定参数索引({0},, {1}...).