SR0725 / github_blog_issue

0 stars 0 forks source link

0.1 + 0.2 加起來會是多少 #6

Open SR0725 opened 6 months ago

SR0725 commented 6 months ago

來聊一個經典的程式問題吧 你可以打開 F12 試試看 0.1 + 0.2 加起來會是多少 對於任何一個正常人來說,毫無疑問會回答 0.3 JavaScript:0.30000000000000004 正常人:?????其實不只 JavaScript 大部分的程式都有這個「特性」 雖然我們是用 0~9來記錄數字 但是電腦是使用0與1來記錄數字 這就導致了有些我們能輕鬆表示的數字 對電腦來說卻存在困難 就好比我們沒辦法輕鬆的顯示1/3相同道理所以千萬不要寫出 0.1 + 0.2 === 0.3 在做小數判斷時,應該給予他一個容錯範圍 0.1 + 0.2 > 0.29999 && 0.1 + 0.2 \< 0.30001也千萬不要直接在金融相關或追求絕對嚴謹的程式直接使用浮點數運算(Number) 當然 JavaScript 有為了精確計算而設計的型別 - BigInt