我正在使用moneyphp/money类来存储货币价值。但是,在计算所欠税款时,我遇到了一个问题,即计算出的税款是小数,而图书馆正在寻找一个整数值。
例子:
$invoiceTotal = new Money("155" new Currency("USD")); //$1.55
$taxRate= 0.065;
$invoiceTotalWithTax = $invoiceTotal->multiply($taxRate);
echo $invoiceTotalWithTax; //0.10 whereas actual value is 1.55*0.065 = 0.10075
$formatter = new DecimalMoneyFormatter();
$formatter->format($invoiceTotalWithTax); //will return $0.10
Run Code Online (Sandbox Code Playgroud)
从上面的例子中,一些分数的分值正在丢失。个人来说不算多,但是如果我们在一个纳税期内处理几千张发票,最终征收的总税款会超过1美分。