簡體   English   中英

JavaScript浮點錯誤

[英]JavaScript Floating point error

在我的應用程序中,我正在做一些客戶端數學,由於浮點錯誤,它常常會出錯。 為了簡化問題:

Math.floor((.3 - .1) * 10) == 1

還有其他更復雜的示例,但是我的問題是:

解決潛在浮點錯誤的適當方法是什么?

Math.floor(fixFloat(.3 - .1) * 10) == 2

謝謝!

這不是JavaScript問題,而是浮點錯誤分析問題。 幸運的是,這是一個很好理解的問題。

本頁詳細介紹了如何分析浮點錯誤。 這將使您可以為計算分配誤差范圍。 其他不錯的閱讀方法是有關IEEE浮點格式的Wikipedia頁面。

您實際上無法防止此類錯誤。 但是,您可以為它們提供嚴格的界限,以便用戶/客戶可以對所產生的價值充滿信心。 此外,在某些情況下,您可以重新設置公式的格式以減小誤差范圍。

如果您對浮點錯誤分析有更多疑問,最好在http://math.stackexchange.com上提問,因為這確實是一個數學領域。

浮點本質上不用於“精確”計算,如果您想使用定點數學進行精度計算,例如以美分/便士存儲貨幣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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