我可能在这里约会,但是,在C中,%Fraster在成长,而且从来没有真正学会过C++中的新的IoSt流东西。因为python有%操作符,所以我从不费心去学习format操作符的强大功能。然而,似乎我可能碰到了砖墙与我心爱的%格式化程序。你知道吗
我想用可变字符(不是零字符)和可变宽度来“零填充”一个数字。格式方法似乎很好地处理了这个问题:
width = 10
base = 'd'
fill = '1'
{0:{fill}>{width}{base}}'.format(43, base=base,fill=fill, width=width)
我想不出如何使用%格式化程序使其工作!救命啊!你知道吗
'%013d'%(43) #works, but will not "work" for %513d where 5 should be the pad character
'%0*d'%(13,43) #as does this, but
'%a13d'%(43) #does not fill with a
我知道有解决办法来实现这一点,但有什么是真正简单的我错过了?你知道吗
不能对旧的
%
字符串格式化程序句号使用任意填充字符。格式仅支持使用*
字符指定可变宽度,仅此而已。你知道吗填充可以用空格或零来完成,其他什么都不用做。如果你想做一些其他的事情,一个麻烦的任务,你必须使用^{} 、^{} 和^{} 方法。你知道吗
可以通过两个步骤生成格式化程序:
假设
fill
是空字符串,或'-'
、'0'
、'#'
、'+'
或' '
在格式化标志之间切换;'0'
是零填充选项。你知道吗然后,第二步使用其输出格式化:
新的
str.format()
在内部使用多个过程,允许您更轻松地将参数插入占位符,和支持更多格式、填充和其他功能。你知道吗对
%
操作符没有你所缺少的神奇技巧,但是你可以用str.ljust and str.rjust做你想做的事情您没有遗漏任何内容,这里只提供了一些转换标志字符:https://docs.python.org/2/library/stdtypes.html#string-formatting
即:
不支持像现在这样用
1
填充。你知道吗相关问题 更多 >
编程相关推荐