Created
June 23, 2014 16:28
-
-
Save supersha/7e2e0ff07d617106cfa1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//减法运算的函数. 修正了 js的减法运算. 但小数位不得超过6位 否则toFixed 可能会舍去超出部分 除非前6位中至少有1位具备有效数字 | |
function sub(arg1, arg2) { | |
var r1, r2, m, n; | |
try { r1 = arg1.toString().split('.')[1].length } catch (e) { r1 = 0 } | |
try { r2 = arg2.toString().split('.')[1].length } catch (e) { r2 = 0 } | |
m = Math.pow(10, Math.max(r1, r2)); | |
//动态控制精度长度 | |
n = (r1 >= r2) ? r1 : r2; | |
return parseFloat(((arg1 * m - arg2 * m) / m).toFixed(n)); | |
} | |
//加法 | |
function add(arg1, arg2) { | |
var r1, r2, m; | |
try { r1 = arg1.toString().split('.')[1].length } catch (e) { r1 = 0 } | |
try { r2 = arg2.toString().split('.')[1].length } catch (e) { r2 = 0 } | |
m = Math.pow(10, Math.max(r1, r2)) | |
return (arg1 * m + arg2 * m) / m | |
} | |
//乘法 | |
function mul(arg1, arg2) { | |
var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); | |
try { m += s1.split('.')[1].length } catch (e) { } | |
try { m += s2.split('.')[1].length } catch (e) { } | |
return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m) | |
} | |
//除法 | |
function div(arg1, arg2) { | |
var t1 = 0, t2 = 0, r1, r2; | |
try { t1 = arg1.toString().split('.')[1].length } catch (e) { } | |
try { t2 = arg2.toString().split('.')[1].length } catch (e) { } | |
with (Math) { | |
r1 = Number(arg1.toString().replace('.', '')) | |
r2 = Number(arg2.toString().replace('.', '')) | |
return (r1 / r2) * pow(10, t2 - t1); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment