2013-10-06 44 views
1

什么是最好的方式来显示一个+前面,一个浮动?让我们说如果用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是一个负数,那么我会保持原样。添加“+”和“ - ”的最佳方法?

我必须使用if语句,然后将其转换为字符串,然后添加+符号吗?还是有更简单的方法?

回答

2

使用format() function

>>> format(10, '+f') 
'+10.000000' 
>>> format(-10, '+f') 
'-10.000000' 
>>> format(3.14159, '+.3f') 
'+3.142' 

Format Specification Mini-Language为特定格式的选项;在+前加上一个数字格式,使其包含正数的加号,-表示负数。例如,最后一个示例将数字格式化为使用3位小数。

如果需要删除负号,你必须这样做明确使用.lstrip()

>>> format(10, '+f').lstrip('-') 
'+10.000000' 
>>> format(-10, '+f').lstrip('-') 
'10.000000' 

但会是相当混乱的规范阅读,在我看来。 :-)

+0

圣牛我甚至不知道这个 – TerryA

+0

真棒谢谢这真的很有帮助! – user1804933

0

使用格式 - ,然后从结果任何领先-

print format(10, '+').lstrip('-') 
0

我想的第一件事:

userInput=int(input("Enter number: ")) 
if userInput > 0: 
    print ("+"+userInput) 
else: 
    pass 

格式只是去不过,更快的方式和更干净。

+0

'pass'是小写字母,不是大写'P';你*很少*需要使用它。整个'else:'套件可以放在这里。 –

+0

@Martin Pieters oups!在电话上打字,拼写错误发生在感谢头上。其他只是为了“演示目的”:P – hope4tg

+0

我有时希望iOS自动大写功能也可以关闭! :-) –

相关问题