本文實(shí)例講述了JavaScript使用math.js進(jìn)行精確計(jì)算操作。分享給大家供大家參考,具體如下:
javascript進(jìn)行浮點(diǎn)運(yùn)算會(huì)有尾差,比如算個(gè)0.1+0.7試試,得到的不是0.8 。這個(gè)問(wèn)題可以使用math.js解決。
Math.js是一款開(kāi)源的JavaScript和Node.js數(shù)學(xué)庫(kù),用于處理數(shù)字、大數(shù)、復(fù)數(shù)、單位和矩陣。
官網(wǎng): 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種方法計(jì)算0.7+0.1,可以看到使用math.parser().eval()計(jì)算得到了準(zhǔn)確的結(jié)果0.8
這里可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具 http://tools.VeVB.COm/code/HtmlJsRun測(cè)試運(yùn)行效果。
PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:
在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.VeVB.COm/jisuanqi/equ_jisuanqi
科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.VeVB.COm/jisuanqi/jsqkexue
在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.VeVB.COm/jisuanqi/jsq
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript操作DOM技巧總結(jié)》及《JavaScript字符與字符串操作技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注