Python f字符串(PEP 498)有一个简单的方法来修复小数点后的位数吗?(特别是f-strings,而不是其他字符串格式化选项,如.format或%)
例如,假设我想在小数位后面显示2位数.
我怎么做?
a = 10.1234
f'{a:.2}'
Out[2]: '1e+01'
f'{a:.4}'
Out[3]: '10.12'
a = 100.1234
f'{a:.4}'
Out[5]: '100.1'
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,"精度"已经改变了"小数点后的位数"的含义,就像使用%格式时的情况一样,只是总数.无论我有多大的数字,我怎么能总是得到小数点后的2位数?
假设我想在前面显示带有可变数量的填充零的数字123.
例如,如果我想以5位数显示它,我会有数字= 5给我:
00123
Run Code Online (Sandbox Code Playgroud)
如果我想以6位数显示它,我会有数字= 6给出:
000123
Run Code Online (Sandbox Code Playgroud)
我将如何在Python中执行此操作?
所以我有这个简单的print陈述:
print "%-10s %s" % ("test","string")
Run Code Online (Sandbox Code Playgroud)
打印所需的输出:
test string
Run Code Online (Sandbox Code Playgroud)
我试图找出填充值是变量的情况的正确语法.例:
w = 10
print "%-s %s" % (w,"test","string")
Run Code Online (Sandbox Code Playgroud)
那么%-s应该用什么来容纳填充值?
如果我没记错的话,语法类似于用int变量替换的%-xs地方x.我可能会弄错.
我知道这个问题可能是重复的,因为这确实是基本的字符串格式问题.但是,经过一段时间搜索正确的语法后,我放弃了.