嘗試在.VBS運行此文件固定VBSCRIPT不準確的數學結果由於四捨五入
MsgBox(545.14-544.94)
你得到的0.199999999999932
一個整潔的小的回答!
此舍入問題也會發生在不幸仙(2 * PI)因爲VB永遠只能看到(用戶定義)的變量pi作爲準確3.14159265358979。
手動四捨五入(並失去準確性)是改善結果的唯一方法?處理這類問題最有效的方法是什麼?
嘗試在.VBS運行此文件固定VBSCRIPT不準確的數學結果由於四捨五入
MsgBox(545.14-544.94)
你得到的0.199999999999932
一個整潔的小的回答!
此舍入問題也會發生在不幸仙(2 * PI)因爲VB永遠只能看到(用戶定義)的變量pi作爲準確3.14159265358979。
手動四捨五入(並失去準確性)是改善結果的唯一方法?處理這類問題最有效的方法是什麼?
這就是浮點數的工作方式,可能會出現一些不準確的地方。爲了更好的輸出,最簡單的方法是將結果舍入爲更少的數字。
+1它在這裏解釋得非常好(臉頰略帶舌頭,但很好的解釋)http://msmvps.com/blogs/jon_skeet/archive/2009/11/02/omg-ponies-aka-humanity-epic-fail。 ASPX – MarkJ 2010-03-29 15:24:14
.vbs文件是VBSCRIPT,而不是VB6。 – 2010-03-29 04:48:19
浮點算法已經討論了很多:http://stackoverflow.com/questions/tagged/floating-point – Helen 2010-03-29 07:01:13
感謝john,你是對的,但是這也發生在vb6中。 – Jay 2010-03-29 11:14:41