如何使用字符串格式打印'%'符号?

时间:2015-02-05 12:16:09

标签: python printing python-2.x percentage

我为计算器百分比制作了一个小脚本;但是,我希望在打印的消息中包含'%'......

一开始就尝试过 - 没有用......

  

oFile.write(“百分比:%s%”\ n“%%)

然后我尝试了"Percentage: %s"%"\n" % percent"这不起作用。

我希望输出为:百分比:x%

我不断收到“TypeError:并非在字符串格式化期间转换所有参数”

6 个答案:

答案 0 :(得分:32)

要打印%符号,您需要使用另一个%符号“转义”它:

percent = 12
print "Percentage: %s %%\n" % percent  # Note the double % sign
>>> Percentage: 12 %

答案 1 :(得分:9)

或使用format()功能,这更优雅。

percent = 12
print "Percentage: {}%".format(percent)

4年后编辑

现在在Python3x中print()需要括号。

percent = 12
print ("Percentage: {}%".format(percent))

答案 2 :(得分:3)

新的Python 3方法是使用格式字符串。

percent = 12
print("Percentage: {0} %\n".format(percent))
>>> Percentage: 12 %

Python也支持这一点> 2.6。

请参阅此处的文档:Python 3Python 2

答案 3 :(得分:2)

x = 0.25
y = -0.25
print("\nOriginal Number: ", x)
print("Formatted Number with percentage: "+"{:.2%}".format(x));
print("Original Number: ", y)
print("Formatted Number with percentage: "+"{:.2%}".format(y));
print()

样本输出:

Original Number:  0.25                                                                                        
Formatted Number with percentage: 25.00%                                                                      
Original Number:  -0.25                                                                                       
Formatted Number with percentage: -25.00% 

帮助正确设置百分比值的格式

+++

使用百分比的ascii值-37

print( '12' + str(chr(37)) )

答案 4 :(得分:1)

格式更优雅,但模数符号似乎更快!

http://inre.dundeemt.com/2016-01-13/string-modulo-vs-format-fight/ - 显示模数快约30%!

答案 5 :(得分:-2)

print("Interest Rate (APR): " , format(APR, '.0f'),'%')