问题描述
当我使用round()将float值四舍五入到两位数时,并且当小数点后的数字为零时,它仅显示其中一位。
例如如果我四舍五入为(12.00,2),则结果类似于12.0,则四舍五入到小数点后一位。
我希望我的结果有两位小数,例如12.00
python中是否还有其他函数可以给我结果?
解决方法
round
并不能完全为您提供此结果,从数学上来说,12.0
,12.00
和12.000
是相同的值。然后,要实现所需的功能,请使用格式化。
如果您使用的是Python 3.6 +
>>> f'{round(12.00,2):.2f}'
'12.00'
如果您使用的是早期版本的Python:
>>> '{number:.2f}'.format(number=round(12.00,2))
'12.00'
即使您可以使用%
进行格式化,我也强烈反对这样做。处理格式的最佳方法是使用f字符串,如果不可能的话,请使用format
方法。
您可以使用字符串格式。您可以指定小数位数,如果需要舍去数字,它将四舍五入。
格式以下至小数点后两位。
num = 12.000
'%.2f' % num # => 12.00
num = 12.005
'%.2f' % num # => 12.01