Mike Howarth <[EMAIL PROTECTED]> writes: > Basically I'm reducing an array of prices like so: > >> subtotal = reduce(operator.add, itemprices) > > This gives me a string of '86.00.00'
You haven't shown what the input is; what is the value of 'itemprices' before this line? When I use floating-point numbers, I get this:: >>> import operator >>> itemprices = [24.68, 12.34, 36.90] >>> itemprices [24.68, 12.34, 36.899999999999999] >>> subtotal = reduce(operator.add, itemprices) >>> subtotal 73.919999999999987 When I use the Decimal type, I get this:: >>> import operator >>> from decimal import Decimal >>> itemprices = [Decimal("24.68"), Decimal("12.34"), Decimal("36.93")] [Decimal("24.68"), Decimal("12.34"), Decimal("36.93")] >>> subtotal = reduce(operator.add, itemprices) >>> subtotal Decimal("73.95") So I suspect your 'itemprices' sequence is composed of values of some other type. Please show your equivalent of the above sessions so we can see what's happening. -- \ "Don't be afraid of missing opportunities. Behind every failure | `\ is an opportunity somebody wishes they had missed." -- Jane | _o__) Wagner, via Lily Tomlin | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list