我正在用Flask framework构建一个金融网站,目前正在为其编写单元测试。我正在使用Babel package到{a3},我偶然发现了相当奇怪的舍入行为。在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
为什么会这样,更重要的是,我如何解决这个问题?在
注:我希望.245
四舍五入到{
[编辑]
我去找了the source,它链接到some other块{a6}。但我真的搞不清哪里出了问题,为什么它会随机地向上或向下取整。有人知道吗?在
如果您按照代码到
apply
,您可以看到对bankersround
过程的引用,它告诉我们需要知道什么。四舍五入是用巴别尔数四舍五入的最接近的银行家数。因此,.245和.235四舍五入到.24,即.24是最接近的偶数值。高于和低于5的值通常为四舍五入。在相关问题 更多 >
编程相关推荐