
2017-09-29 &nb←↕sp;| 發布者$✔♣: |&nbs¥✔♦p; 查看(kàn):3320次
前端開(kāi)發//說(shuō)明(míng):javascr÷≈§ipt的(de)加法結果會(huì)有(yǒu)誤差,↓π 在兩個(gè)浮點數(shù)相(xiàng)加的(de)β∑β時(shí)候會(huì)比較明(míng< ×★)顯。這(zhè)個(gè)函數(shù)返回較為(wèi)精确的(de)加♣εε§法結果。
//調用(yòng):accAdd(arg1,arg2≤≈&)
//返回值:arg1加上(shàng)arg2的(de)精确結果 &nλ₹bsp;
function accAdd(a× φrg1,arg2){
&nbs↑™p; var&φε nbsp;r1,r2,m;
&∞≤nbsp; try{r1=arg1 ≤ .toString().split(".")[1].♣§α♠length}catch(e){r1=0}
&nb&↑♦sp; try{㮀r2=arg2.toString().split("✘ ₽;.")[1].length}catch(e){r2=0>←¥ }
&&♦nbsp;m=Math.pow(10,Math.max(r1,r↑≠✔2))
&nα £bsp; return (arλ♣g1*m+arg2*m)/m &nπ₩₩σbsp;
}//說(shuō)明(míng):javascript的(de)₩>減法結果會(huì)有(yǒu)誤差,在兩個(g®←è)浮點數(shù)相(xiàng)加的(de)時(shí)候會(♣→huì)比較明(míng)顯。這(zhè✘φ )個(gè)函數(shù)返回較為(wèπ↕i)精确的(de)減法結果。
//調用(yòng):accSub(arg1,arg2) &nb♣©×sp;
//返回值:arg1減上(shàng)arg2的(de)↑ 精确結果
function accSub(arg1,arg2){ & ×nbsp;
&₽©nbsp; return&→∏nbsp;accAdd(arg1,-arg2);  ♥;
}//說(shuō)明(míng):javascλ☆♠ript的(de)乘法結果會(huì)有(yǒu∑&)誤差,在兩個(gè)浮點數(shù)相(xiàng)乘的(de) φ時(shí)候會(huì)比較明(míng)顯。這(ε↔∑zhè)個(gè)函數(shù)返回較為(wèi)精确的(de∏Ω→α)乘法結果。   ✘•;
//調用(yòng):accMul(arg1,✘™arg2)
//返回值:arg1乘以arg2的(de)精确結果&©↕nbsp;
function accMul(arg1,aδ<rg2)
{ &§
v₹δ∏≈ar m=0,s1=arg1.toSε←tring(),s2=arg2.toString()© ÷≈;
 <>×→; try{m+=s1.split(★ ↔Ω".")[1].length}catch(e)♠δ•{}
&n•§∞bsp; try{m+=s2.split(&qu©ot;.")[1].length}catch(e ♦){}
&n♥↓bsp; return♦ ÷ Number(s1.replace("."φ$∞;,""))*Number(s2.replace(&qu₹☆★ot;.",""))/Math.pow(10,m€•¶ )
}//說(shuō)明(míng):javascript&∞的(de)除法結果會(huì)有(yǒu)誤差,在兩個(gè)浮點↔∑¶✔數(shù)相(xiàng)除的(de)時(shí)候會(huì↑↑ )比較明(míng)顯。這(zhè)個(gè)函數(shù)返回較為 ♠(wèi)精确的(de)除法結果。
//調用(yòng):accDiv(arg1,arg2)&n™♦bsp;
//返回值:arg1除以arg2的(de π)精确結果
function accDiv ↔(arg1,arg2){ ¶₹•δ
vγαar t1=0,t2=0,r1,r2;&λ↕nbsp;
&♣$☆πnbsp;try{t1=arg1.toString().split("∞₹→↓;.")[1].length}catch'™↓¥(e){}
&nb'π§sp; try{t2=arg2.toString(§¶$₹).split(".")[1]" .length}catch(e){}
★≥↕ witα€¥h(Math){
&≤≈±♥nbsp; &nb♠φsp;r1=Number(arg1.toStrinπγ™g().replace(".","↓↓≠;"))
&nbs±→£p; &nb♣♦>sp; r2=Number(arg2.×£' toString().replace("."¥ε ',"")) &nb&λ¶₽sp;
 γ>Ω; &n '✔bsp; return <'♣π;(r1/r2)*pow(10,t2-t1); ¥₹"€;
&$β  }
←∏♦}