具體代碼如下:
//加法函數(shù) 2 function accAdd(arg1, arg2) { 3 var r1, r2, m; 4 try { 5 r1 = arg1.toString().split(".")[1].length; 6 } 7 catch (e) { 8 r1 = 0; 9 } 10 try { 11 r2 = arg2.toString().split(".")[1].length; 12 } 13 catch (e) { 14 r2 = 0; 15 } 16 m = Math.pow(10, Math.max(r1, r2)); 17 return (arg1 * m + arg2 * m) / m; 18 } 19 //給Number類型增加一個(gè)add方法,,使用時(shí)直接用 .add 即可完成計(jì)算。 20 Number.prototype.add = function (arg) { 21 return accAdd(arg, this); 22 }; 23 24 25 //減法函數(shù) 26 function Subtr(arg1, arg2) { 27 var r1, r2, m, n; 28 try { 29 r1 = arg1.toString().split(".")[1].length; 30 } 31 catch (e) { 32 r1 = 0; 33 } 34 try { 35 r2 = arg2.toString().split(".")[1].length; 36 } 37 catch (e) { 38 r2 = 0; 39 } 40 m = Math.pow(10, Math.max(r1, r2)); 41 //last modify by deeka 42 //動(dòng)態(tài)控制精度長度 43 n = (r1 >= r2) ? r1 : r2; 44 return ((arg1 * m - arg2 * m) / m).toFixed(n); 45 } 46 47 //給Number類型增加一個(gè)add方法,,使用時(shí)直接用 .sub 即可完成計(jì)算。 48 Number.prototype.sub = function (arg) { 49 return Subtr(this, arg); 50 }; 51 52 53 //乘法函數(shù) 54 function accMul(arg1, arg2) { 55 var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); 56 try { 57 m += s1.split(".")[1].length; 58 } 59 catch (e) { 60 } 61 try { 62 m += s2.split(".")[1].length; 63 } 64 catch (e) { 65 } 66 return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); 67 } 68 //給Number類型增加一個(gè)mul方法,使用時(shí)直接用 .mul 即可完成計(jì)算。 69 Number.prototype.mul = function (arg) { 70 return accMul(arg, this); 71 }; 72 73 74 //除法函數(shù) 75 function accDiv(arg1, arg2) { 76 var t1 = 0, t2 = 0, r1, r2; 77 try { 78 t1 = arg1.toString().split(".")[1].length; 79 } 80 catch (e) { 81 } 82 try { 83 t2 = arg2.toString().split(".")[1].length; 84 } 85 catch (e) { 86 } 87 with (Math) { 88 r1 = Number(arg1.toString().replace(".", "")); 89 r2 = Number(arg2.toString().replace(".", "")); 90 return (r1 / r2) * pow(10, t2 - t1); 91 } 92 } 93 //給Number類型增加一個(gè)div方法,,使用時(shí)直接用 .div 即可完成計(jì)算。 94 Number.prototype.div = function (arg) { 95 return accDiv(this, arg); 96 };
使用方法如下:
//加法示例(其它的都類似) 2 function calculate() { 3 //數(shù)字1 4 var num1 = 10; 5 //數(shù)字2 6 var num2 = 5; 7 //計(jì)算 num1 + num2 8 alert(num1.add(num2)); 9 }
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com