小编典典

在Python中将数字格式化为字符串

python

我需要找出如何将数字格式化为字符串。我的代码在这里:

return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm

小时和分钟是整数,而秒是浮点数。str()函数会将所有这些数字转换为十分之几(0.1)。因此,而不是我的字符串输出“ 5:30:59.07
pm”,它将显示类似“ 5.0:30.0:59.1 pm”的内容。

最重要的是,我需要为我执行什么库/函数?


阅读 178

收藏
2020-12-20

共1个答案

小编典典

从Python
3.6开始,可以使用格式化的字符串文字
f-strings
完成Python中的格式化

hours, minutes, seconds = 6, 56, 33
f'{hours:02}:{minutes:02}:{seconds:02} {"pm" if hours > 12 else "am"}'

str.format以2.7开头的函数:

"{:02}:{:02}:{:02} {}".format(hours, minutes, seconds, "pm" if hours > 12 else "am")

或甚至更旧版本的Python的字符串格式%运算符,但请参阅文档中的注释:

"%02d:%02d:%02d" % (hours, minutes, seconds)

对于您特定的格式化时间,有time.strftime

import time

t = (0, 0, 0, hours, minutes, seconds, 0, 0, 0)
time.strftime('%I:%M:%S %p', t)
2020-12-20