1

所以我一直在尝试在我的收银机类中编写一个部分。我试图让它以整数形式跟踪总价格。所以例如 18.66 将是 1866。但如果这有意义的话,我仍然希望它被视为 18.66。这是为了避免舍入误差的累积。但我不想改变类的公共接口。

#!/usr/local/bin/python3

class CashRegister :
    def __init__(self):
        self._itemCount = 0
        self._totalPrice = 0.0

    def addItem(self, price):
        self._itemCount = self._itemCount + 1
        self._totalPrice = self._totalPrice + price

    def getTotal(self):
        return self._totalPrice

    def getCount(self) :
        return self._itemCount

    def clear(self) :
        self._itemCount = 0
        self._totalPrice = 0.0

我不会简单地将 0.0 更改为 0 吗?还是我会继续做一个拆分方法并将它们连接在一起?

4

1 回答 1

0

您应该保持数据不变。

您可以通过格式化来实现您想要的。如果我是你,我将添加一个像这样的新功能:

def getTotalAsString(self):
        return "%d" % (self._totalPrice * 100)

这种方法将在未来为您提供更大的灵活性

于 2013-11-15T02:48:20.250 回答