我需要了解如何将数字格式化为字符串。我的代码如下:
return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm
小时和分钟是整数,秒是浮点数。str()函数将所有这些数字转换为第十位(0.1)。所以我的字符串不是输出"5:30:59.07 pm",而是类似于"5.0:30.0:59.1 pm“。
底线是,我需要什么库/函数来为我做这件事?
发布于 2016-12-28 05:51:12
Python 2.6+
可以使用format()
函数,因此在您的示例中可以使用:
return '{:02d}:{:02d}:{:.2f} {}'.format(hours, minutes, seconds, ampm)
有多种方法可以使用此函数,因此有关更多信息,请查看documentation。
Python 3.6+
F字符串是Python 3.6中添加到语言中的新功能。这使得格式化字符串变得臭名昭著:
return f'{hours:02d}:{minutes:02d}:{seconds:.2f} {ampm}'
发布于 2008-08-22 15:13:46
您可以使用C样式字符串格式:
"%d:%d:d" % (hours, minutes, seconds)
看这里,特别是:https://web.archive.org/web/20120415173443/http://diveintopython3.ep.io/strings.html
发布于 2014-10-08 14:06:45
您可以使用以下命令来实现所需的功能
"%d:%d:d" % (hours, minutes, seconds)
https://stackoverflow.com/questions/22617
复制相似问题