Commit 370ab00e authored by tianhongyang's avatar tianhongyang

decimal封装优化,工料汇总80%

parent 0f5de350
......@@ -11,7 +11,8 @@ export const add = (num1, num2, digit = 9, omit = false) => {
if (flag) throw new Error("传入参数错误,参数不为number");
const decimal1 = new Decimal(num1);
const decimal2 = new Decimal(num2);
return decimal1.plus(decimal2).toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
const result = decimal1.plus(decimal2);
return omit ? result.toFixed(digit, Decimal.ROUND_UP) : result.toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
};
/**
......@@ -20,12 +21,13 @@ export const add = (num1, num2, digit = 9, omit = false) => {
* @param {*} num2
* @returns
*/
export const subtract = (num1, num2, digit = 9) => {
export const subtract = (num1, num2, digit = 9, omit = false) => {
const flag = (!parseFloat(num1) && parseFloat(num1) != "0") || (!parseFloat(num2) && parseFloat(num2) != "0");
if (flag) throw new Error("传入参数错误,参数不为number");
const decimal1 = new Decimal(num1);
const decimal2 = new Decimal(num2);
return decimal1.minus(decimal2).toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
const result = decimal1.minus(decimal2);
return omit ? result.toFixed(digit, Decimal.ROUND_UP) : result.toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
};
/**
......@@ -34,12 +36,13 @@ export const subtract = (num1, num2, digit = 9) => {
* @param {*} num2
* @returns
*/
export const multiply = (num1, num2, digit = 9) => {
export const multiply = (num1, num2, digit = 9, omit = false) => {
const flag = (!parseFloat(num1) && parseFloat(num1) != "0") || (!parseFloat(num2) && parseFloat(num2) != "0");
if (flag) throw new Error("传入参数错误,参数不为number");
const decimal1 = new Decimal(num1);
const decimal2 = new Decimal(num2);
return decimal1.times(decimal2).toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
const result = decimal1.times(decimal2);
return omit ? result.toFixed(digit, Decimal.ROUND_UP) : result.toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
};
/**
......@@ -48,10 +51,11 @@ export const multiply = (num1, num2, digit = 9) => {
* @param {*} num2
* @returns
*/
export const divide = (num1, num2, digit = 9) => {
export const divide = (num1, num2, digit = 9, omit = false) => {
const flag = (!parseFloat(num1) && parseFloat(num1) != "0") || (!parseFloat(num2) && parseFloat(num2) != "0");
if (flag) throw new Error("传入参数错误,参数不为number");
const decimal1 = new Decimal(num1);
const decimal2 = new Decimal(num2);
return decimal1.dividedBy(decimal2).toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
const result = decimal1.dividedBy(decimal2);
return omit ? result.toFixed(digit, Decimal.ROUND_UP) : result.toDecimalPlaces(digit, Decimal.ROUND_UP).toString();
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment