87 lines
1.7 KiB
JavaScript
87 lines
1.7 KiB
JavaScript
/**
|
|
* 加法运算
|
|
* @param {Number} a
|
|
* @param {Number} b
|
|
* @example Math.addNum(0.3 , 0.6) // => 0.9
|
|
*/
|
|
export const addNum = (a, b) => {
|
|
var c, d, e;
|
|
try {
|
|
c = a.toString().split(".")[1].length;
|
|
} catch (f) {
|
|
c = 0;
|
|
}
|
|
try {
|
|
d = b.toString().split(".")[1].length;
|
|
} catch (f) {
|
|
d = 0;
|
|
}
|
|
return (e = Math.pow(10, Math.max(c, d))), (mulNum(a, e) + mulNum(b, e)) / e;
|
|
};
|
|
|
|
/**
|
|
* 减法运算
|
|
* @param {Number} a
|
|
* @param {Number} b
|
|
* @example Math.subNum(0.3 , 0.2) // => 0.1
|
|
*/
|
|
export const subNum = (a, b) => {
|
|
var c, d, e;
|
|
try {
|
|
c = a.toString().split(".")[1].length;
|
|
} catch (f) {
|
|
c = 0;
|
|
}
|
|
try {
|
|
d = b.toString().split(".")[1].length;
|
|
} catch (f) {
|
|
d = 0;
|
|
}
|
|
return (e = Math.pow(10, Math.max(c, d))), (mulNum(a, e) - mulNum(b, e)) / e;
|
|
};
|
|
|
|
/**
|
|
* 乘法运算
|
|
* @param {Number} a
|
|
* @param {Number} b
|
|
* @example Math.mulNum(0.3 , 1.5) // => 0.45
|
|
*/
|
|
export const mulNum = (a, b) => {
|
|
var c = 0,
|
|
d = a.toString(),
|
|
e = b.toString();
|
|
try {
|
|
c += d.split(".")[1].length;
|
|
} catch (f) {}
|
|
try {
|
|
c += e.split(".")[1].length;
|
|
} catch (f) {}
|
|
return (
|
|
(Number(d.replace(".", "")) * Number(e.replace(".", ""))) / Math.pow(10, c)
|
|
);
|
|
};
|
|
|
|
/**
|
|
* 除法运算
|
|
* @param {Number} a
|
|
* @param {Number} b
|
|
* @example Math.divNum(0.3 , 0.1) // => 3
|
|
*/
|
|
export const divNum = (a, b) => {
|
|
var c,
|
|
d,
|
|
e = 0,
|
|
f = 0;
|
|
try {
|
|
e = a.toString().split(".")[1].length;
|
|
} catch (g) {}
|
|
try {
|
|
f = b.toString().split(".")[1].length;
|
|
} catch (g) {}
|
|
return (
|
|
(c = Number(a.toString().replace(".", ""))),
|
|
(d = Number(b.toString().replace(".", ""))),
|
|
mulNum(c / d, Math.pow(10, f - e))
|
|
);
|
|
};
|