1

对于浮动,在前面显示 + 的最佳方式是什么?假设用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是一个负数,那么我会保持原样。

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

4

3 回答 3

2

使用format()功能

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

有关特定格式选项,请参阅格式规范迷你语言;在数字格式前面+加上 ,使其包含正数的加号,-负数。例如,最后一个示例将数字格式化为使用 3 位小数。

如果您需要删除负号,则必须明确使用.lstrip()

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

但在我看来,这会使阅读规范变得相当混乱。:-)

于 2013-10-06T23:10:46.883 回答
0

使用格式 - 然后-从结果中删除任何前导:

print format(10, '+').lstrip('-')
于 2013-10-06T23:11:01.393 回答
0

我首先想到的是:

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

格式化只是要走的路,更快,更干净。

于 2013-10-06T23:16:36.830 回答