quantize()和str.format()之间有何区别?

3

我不是指技术上的区别,而是更快/更合乎逻辑或Pythonic等方面,来完成以下任务的更好方式:

    def __quantized_price(self):
        TWOPLACES = Decimal(10) ** -2
        return self.price.quantize(TWOPLACES)

或者

    def __formatted_price(self):
        TWOPLACES = Decimal(10) ** -2
        return '{0:.2f}'.format(self.price)

他们看起来完全一样,所以我想知道为什么他们创建了quantize。

唔...唯一重要的是技术上的差异,因为它们完全做不同的事情。 - S.Lott
1个回答

8

Decimal.quantize 返回一个具有不同值的新 Decimal

''.format() 格式化字符串。

在这种特殊情况下,打印结果会产生相同的输出。除此之外,它们是完全不同的操作,返回完全不同的类型。


哦,所以5.00和5是不同的值? - orokusaki
是的,它们非常不同。你还记得物理吗?三个有效数字(+/- 0.005)的值为5与一个有效数字(+/- 0.5)的值为5并不相同。 - Marco Mariani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接