[英]Floating Point errors in Colt Java matrix libraries
在使用柯爾特矩陣庫執行的財務計算中,如何避免浮點錯誤?
有關浮點類型的難點的一些基本閱讀: 每位計算機科學家都應了解的浮點算法
還有一些Java風味: Java的浮點如何傷害每個人
一種常見的技術是使用整數並自己跟蹤小數。 例如,您可以確定所有貨幣金額將以3個小數點精度表示。 所以不用寫:
double dollars = 10.05d;
你寫
int dollars = 10050;
當您要打印金額時:
System.out.println( dollars/100d );
對於財務而言,更常見的是使用BigDecimal和相關類。 在任何情況下,float和double都非常容易出現舍入錯誤。
如果您決定嘗試BigDecimal,則可能需要看一下Apache Commons Math 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.