1
xiaket 2012-01-02 19:52:02 +08:00
偶这儿的Python拒绝将浮点数转成Decimal:
>>> a = decimal.Decimal("0.1") >>> a Decimal('0.1') 实际上是你理解错了. |
3
xiaket 2012-01-03 11:04:13 +08:00
做浮点计算需要注意在进行某些计算时可能会有比较大的问题, 一个典型的(但事实上说明不了什么问题的)例子是当a比较大时, 计算sqrt(a+1) - sqrt(a)可能得到的结果不尽如人意. 这个时候如果转成计算1/(sqrt(a) + sqrt(a+1))会有更好的结果(虽然这种转换会多做一次除法计算, 计算量大了一点点).
|
4
keakon 2012-01-03 20:42:01 +08:00
Decimal可以设置精度的,金融计算时本来就要四舍五入到最小金额。你看下文档再问吧
http://docs.python.org/library/decimal.html |