我正在使用Flask 框架构建一个金融网站,目前正在为它编写单元测试。我正在使用Babel 包来格式化金额,并且遇到了相当奇怪的舍入行为。我希望在 a 的情况下四舍五入5
,或者至少是一致的。但是看看这个:
>>> from decimal import Decimal
>>> from babel.numbers import format_currency
>>> print format_currency(Decimal('.235'), 'EUR', locale='nl_NL')
€ 0,24
>>> print format_currency(Decimal('.245'), 'EUR', locale='nl_NL')
€ 0,24
为什么会这样,更重要的是;我该如何解决这个问题?
ps:我宁愿.245
四舍五入.25
[编辑]
我去寻找源代码,它链接到其他一些代码。但我无法真正弄清楚那里出了什么问题以及为什么它似乎随机向上或向下取整。有人知道吗?