用Javascript來做加減乘除,如果是使用小數的話,跑出來的數字會非常奇特,主要問題在於Javascript運算是依循IEEE754的規範,在運算時會轉換成二進制來計算數值,而浮點數在轉成二進制時會形成無窮迴圈,最後再轉換成十進制,進而產生運算誤差。
舉個例子,0.1 + 0.2,在Javascript會是這樣子計算的。
1. 引入math.js
詳細流程可以參考此篇文章 优秀的js拓展数学库math.js,解决精度问题
2. 自訂加減乘除運算程式碼
加.add()、減.sub()、乘.mul()、除.div()
引入下方的javascript就能正常使用加減乘除運算啦!