百分比格式的Python格式字符串,%之前有空格

我想将数字设置为百分比格式,即0.331 -> '33.1 %'

简单代码中最明显的方法是使用'{:.1f} %'.format(percentage*100) 由于我只是将格式字符串传递给fn(dataframe,format='{:.1f}')中的函数,因此我无法轻松地将数据与100相乘(因为数据也用于函数内部的计算)。现在,Python具有%格式说明符,它几乎可以满足我的要求: '{:.1%}'.format(0.331)给出了'33.1%',但我想要'33.1 %'(根据DIN 5008的要求)

是否可以使用格式字符串在数字和百分比符号之间插入空格?基本上就像'{:6.1%}'.format(0.331),但数字的另一边有空格。

如果这不可能,那么我必须破解将格式字符串传递到的函数。这似乎是我想要避免的骇人听闻的解决方案。

guiwullf2 回答:百分比格式的Python格式字符串,%之前有空格

老实说,作为一个懒惰的程序员,我将在像这样附加格式之后使用str.replacehttps://docs.python.org/3/library/stdtypes.html#str.replace):

a = '{:.1%}'.format(0.331).replace('%',' %')
print(a)

给予:33.1 %

,

您可以使用f''字符串:

num = .331 
print(f'the percent is {num*100:6.2f} %')

the percent is   0.33 %

https://realpython.com/python-f-strings/

,

您是否检查过如何使用f弦?

number_1 = 0.331

string_1 = f'{number_1 * 100} %'

print(string_1)

output: 33.1 %
本文链接:https://www.f2er.com/3123167.html

大家都在问