2010-03-29 48 views
0

嘗試在.VBS運行此文件固定VBSCRIPT不準確的數學結果由於四捨五入

MsgBox(545.14-544.94) 

你得到的0.199999999999932一個整潔的小的回答!

此舍入問題也會發生在不幸仙(2 * PI)因爲VB永遠只能看到(用戶定義)的變量pi作爲準確3.14159265358979

手動四捨五入(並失去準確性)是改善結果的唯一方法?處理這類問題最有效的方法是什麼?

+1

.vbs文件是VBSCRIPT,而不是VB6。 – 2010-03-29 04:48:19

+2

浮點算法已經討論了很多:http://stackoverflow.com/questions/tagged/floating-point – Helen 2010-03-29 07:01:13

+0

感謝john,你是對的,但是這也發生在vb6中。 – Jay 2010-03-29 11:14:41

回答

2

這就是浮點數的工作方式,可能會出現一些不準確的地方。爲了更好的輸出,最簡單的方法是將結果舍入爲更少的數字。

+0

+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