通过金钱和利率计算处理精确度

时间:2014-03-14 21:57:57

标签: php

我正在编写一个小型系统,需要在金额和利率之上进行许多计算。我使用Martin Fowler的Money代表我的金额,但我不确定如何恰当地代表利率。另外,我如何用我的整数进行利率计算?

2 个答案:

答案 0 :(得分:0)

我认为费率表示相当简单:不可变,无限精确有理数,引用2种货币。如果你做了一些复杂的事情,你可能需要一个时间戳和一个所有者'因为费率随时间而变化,每个机构都可以拥有自己的费率。但我会将这些价值保留在利率实体本身之外。只记得不要假设费率有任何一致性。从货币A到B到C的过程可能会给你一个不同的结果,而不是从A到B到D.以及“活跃”的字典。货币不是常数

答案 1 :(得分:0)

表示利率时,与货币值具有相同的约束,即浮点数不是适当的表示形式,您需要执行保留完全精度的十进制值。与大多数货币值不同,您的利率可能需要超过2个小数位的精度。

在将利率乘以货币价值时,需要确保您永远不要触摸或转换为浮动汇率。通常,在所有实现十进制的库中,您都可以在十进制或十进制与整数之间执行运算,并获得十进制结果。