[Delphi] 避免浮點數型態變數運算的四捨五入錯誤
這是一個令程式設計師有些傷腦筋的問題,在網路上找到此簡體版的技術文件,作者未知,記錄起來當筆記。
資料型態 為 Single、Double 和 Extended 的浮點數變數存在著四捨五入的問題。舉個例子,假設我們用電腦使用小數四位,那麼:
1 / 3 = 0.3333
我們都知道 3 * 1 / 3 = 1 但如果我們這樣
X := 1 / 3;
X := X * 3;
if X = 1 then //比對結果將會不正確