本文實例講述了JavaScript使用math.js進行精確計算操作。分享給大家供大家參考,具體如下:
javascript進行浮點運算會有尾差,比如算個0.1+0.7試試,得到的不是0.8 。這個問題可以使用math.js解決。
Math.js是一款開源的JavaScript和Node.js數學庫,用于處理數字、大數、復數、單位和矩陣。
官網: http://mathjs.org/
cdn地址:https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.0.0/math.js
示例代碼:
<html><head><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.0.0/math.js"></script><script type="text/javascript">function fn_click(p){ var a , b; a=0.7; b=0.1; if(p==1){ alert(a+b); }else if(p==2){ alert(eval("a+b")); }else if(p==3){ math.config({ number: 'BigNumber' }); var result = math.parser().eval(a + "+" + b) alert(result); }}</script></head><body> <input type="button" value="0.7+0.1" onclick="fn_click(1);" /> <input type="button" value="eval(0.7+0.1)" onclick="fn_click(2);" /> <input type="button" value="mathjs(0.7+0.1)" onclick="fn_click(3);" /></body></html>上面分別用3種方法計算0.7+0.1,可以看到使用math.parser().eval()計算得到了準確的結果0.8
這里可以使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.Vevb.com/code/HtmlJsRun測試運行效果。
PS:這里再為大家推薦幾款計算工具供大家進一步參考借鑒:
在線一元函數(方程)求解計算工具:
http://tools.Vevb.com/jisuanqi/equ_jisuanqi
科學計算器在線使用_高級計算器在線計算:
http://tools.Vevb.com/jisuanqi/jsqkexue
在線計算器_標準計算器:
http://tools.Vevb.com/jisuanqi/jsq
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript操作DOM技巧總結》及《JavaScript字符與字符串操作技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答
圖片精選