Python是否有Round的替代方案?

问题描述

当我使用round()将float值四舍五入到两位数时,并且当小数点后的数字为零时,它仅显示其中一位。

例如如果我四舍五入为(12.00,2),则结果类似于12.0,则四舍五入到小数点后一位。

我希望我的结果有两位小数,例如12.00

python中是否还有其他函数可以给我结果?

解决方法

round并不能完全为您提供此结果,从数学上来说,12.012.0012.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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...