当使用 python 中的内置十进制模块时,我可以按如下方式四舍五入小数。
Decimal(50.212345).quantize(Decimal('0.01'))
> Decimal('50.21')
Run Code Online (Sandbox Code Playgroud)
但我也可以使用内置的舍入函数对相同的数字进行舍入
round(Decimal(50.212345), 2)
> Decimal('50.21')
Run Code Online (Sandbox Code Playgroud)
在对小数进行四舍五入时,为什么要使用其中之一而不是另一个?在之前关于小数舍入的答案中,用户建议使用 quantize,因为内置的 round 函数将返回 float 类型的值。根据我的测试,它们都返回十进制。除了语法之外,还有选择其中之一的理由吗?