簡體   English   中英

Colt Java矩陣庫中的浮點錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM