新增拼团/套餐分享功能
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import dayjs from 'dayjs';
|
||||
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
||||
dayjs.extend(customParseFormat); // 注册插件
|
||||
import {
|
||||
BigNumber
|
||||
} from "bignumber.js";
|
||||
|
||||
/**
|
||||
* 过滤输入,只允许数字和最多两位小数
|
||||
@@ -114,4 +117,30 @@ export function includesString(target, searchStr, options = {}) {
|
||||
|
||||
// 4. 执行包含判断
|
||||
return processedTarget.includes(processedSearch);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 乘法计算并格式化结果
|
||||
* @param {string|number} num1 - 第一个乘数
|
||||
* @param {string|number} num2 - 第二个乘数
|
||||
* @returns {string} 保留两位小数的结果(不四舍五入,补零)
|
||||
*/
|
||||
export const multiplyAndFormat = (num1, num2) => {
|
||||
try {
|
||||
// 转换为BigNumber(使用字符串构造避免精度问题)
|
||||
const bigNum1 = new BigNumber(num1.toString());
|
||||
const bigNum2 = new BigNumber(num2.toString());
|
||||
|
||||
// 1. 乘法计算
|
||||
const product = bigNum1.multipliedBy(bigNum2);
|
||||
|
||||
// 2. 截断到两位小数(不四舍五入)
|
||||
const truncated = product.decimalPlaces(2, BigNumber.ROUND_DOWN);
|
||||
|
||||
// 3. 格式化保留两位小数(补零)
|
||||
return truncated.toFixed(2);
|
||||
} catch (error) {
|
||||
console.error('计算错误:', error);
|
||||
return '0.00'; // 出错时返回默认值
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user