views:

87

answers:

1

I don't mean what's the technical difference, but rather, what's the faster/more logical or Pythonic, etc. way to do this:

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

or

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

They seem to be exactly the same so I'm just wondering why they created quantize when

+5  A: 

Decimal.quantize returns a new Decimal that has a different value.

''.format() formats a string.

In this particular case printing the result yields the same output. Other than that they are totally different operations returning totally different types.

Seth
Oh, so 5.00 is a different value than 5?
orokusaki
Yes, they are very different. Do you remember physics? A value of 5 with three significant digits (+/- 0.005) is not the same as a value of 5 with a single significant digit (+/- 0.5).
Marco Mariani