Mar*_*ios 107 python string floating-point programming-languages
我有一个函数采用浮点数参数(通常是带有一个有效数字的整数或小数),我需要输出一个带有两个小数位(5 - > 5.00,5.5 - > 5.50等)的字符串中的值.我怎么能用Python做到这一点?
Dar*_*mas 235
由于这篇文章可能会在这里发表一段时间,让我们也指出python 3语法:
"{:.2f}".format(5)
Run Code Online (Sandbox Code Playgroud)
NPE*_*NPE 134
您可以使用字符串格式化运算符:
>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'
Run Code Online (Sandbox Code Playgroud)
运算符的结果是一个字符串,因此您可以将其存储在变量,打印等中.
too*_*ain 43
f字符串格式:
这是在Python 3.6新-字符串放在引号像往常一样,除了前面f'...的你会以同样的方式r'...为原始字符串.然后你放置你想要放在你的字符串,变量,数字,内部大括号中的任何东西f'some string text with a {variable} or {number} within that text'- 并且Python评估与之前的字符串格式化方法一样,除了这个方法更具可读性.
>>>a = 3.141592
>>>print(f'My number is {a:.2f} - look at the nice rounding!')
My number is 3.14 - look at the nice rounding!
Run Code Online (Sandbox Code Playgroud)
您可以在此示例中看到,我们使用与先前字符串格式化方法类似的方式格式化小数位.
NB a可以是数字,变量,甚至是表达式,例如f'{3*my_func(3.14):02f}'.
接下来,使用新代码f字符串应优先于常见的%s或str.format()方法,因为f字符串要快得多.
deb*_*e4u 14
字符串格式:
a = 6.789809823
print('%.2f' %a)
Run Code Online (Sandbox Code Playgroud)
或者
print ("{0:.2f}".format(a))
Run Code Online (Sandbox Code Playgroud)
可以使用轮函数:
print(round(a, 2))
Run Code Online (Sandbox Code Playgroud)
round() 的好处在于,我们可以将此结果存储到另一个变量中,然后将其用于其他目的。
b = round(a, 2)
print(b)
Run Code Online (Sandbox Code Playgroud)
使用 round() - 主要用于显示目的。
如果您确实想更改数字本身而不是仅以不同方式显示它,请使用 format()
将其格式化为 2 个小数位:
format(value, '.2f')
Run Code Online (Sandbox Code Playgroud)
例子:
>>> format(5.00000, '.2f')
'5.00'
Run Code Online (Sandbox Code Playgroud)