我正在尝试编写一个带有两个参数的函数:
然后返回格式化的字符串: 我试过的是:
def my_formatter(x, form):
return str(x).format(form)
我期待的是:
s = my_formatter(5, "%2f")
# s = 05
t = my_formatter(5, "%.2")
# t = 5.00
等...
遗憾的是格式化功能并不像那样。有什么想法吗?
答案 0 :(得分:2)
对于这种格式,您必须使用string % values
string formatting operation:
def my_formatter(x, form):
return form % x
你还必须改变你的格式;得到05
你必须使用"%02d"
,而不是"%2f"
。
你对str.format()
method感到困惑,format()
function使用了不同的格式化语法,和你交换了参数;你会改用form.format(x)
。
您可能希望在此处查看内置{{3}};语法略有不同,但提供了更多功能:
>>> format(5, '02d')
'05'
>>> format(5, '.2f')
'5.00'
这与您已使用的内容非常接近,减去%
。