元の合計と一致する必要があるパーセンテージから合計を計算しています。ただし、浮動小数点に対しては、合計が一致することはありません。
例。
合計パーセンテージは327.81から計算されます
四捨五入されていない金額の例
30% 98.343
20% 65.562
30% 98.343
20% 65.562
Total 327.81
四捨五入の例
30% 98.34
20% 65.56
30% 98.34
20% 65.56
Total 327.80
私の金額は通貨形式に四捨五入する必要がありますが、四捨五入された金額は、元の金額である327.81と等しいので327.80から1セント離れていることに気付くでしょう。
最後に、これら2つの金額が互いに等しいことを検証する必要があります。これは明らかに検証されません。経営陣から、ロジックに.05の差異を追加するように言われました。互いに等しい値と比較することはできますが、分散を方程式に追加する方法がわかりません。誰かがこれを私の状態に追加する方法を理解するのを手伝ってもらえますか?
これは、それらが互いに等しいことを比較する私の現在のコードです。
if ( this.pr.getRequisitionTotal() != null
&& this.pr.getRequisitionTotal().compareTo(lineItemTotal) != 0
&& this.reviewedAuditActions())
{
this.form.recordError("Requisition total must equal line item running total.");
}