方法 1: 使用整数进行计算
通过将浮点数转换为整数进行计算,然后再转换回浮点数,可以有效避免浮点数精度问题。
let num1 = 68121.81;
let num2 = 181927.58;
// 将数字转换为整数进行计算
let total = (num1 * 100 + num2 * 100) / 100;
// 使用 toString() 方法去掉多余的零和小数点
let formattedTotal = total.toString().replace(/(.\d?[1-9])0+$/, '$1').replace(/.$/, '');
console.log(formattedTotal); // 输出 "250049.39"
方法 2: 自定义格式化函数
可以编写一个自定义函数来处理浮点数并动态显示小数位数。
function formatNumber(num) {
// 将数字转换为字符串
let str = num.toString();
// 如果没有小数部分,则直接返回
if (!str.includes('.')) {
return str;
}
// 去除多余的零和小数点
return str.replace(/(.\d?[1-9])0+$/, '$1').replace(/.$/, '');
}
let num1 = 68121.81;
let num2 = 181927.58;
let total = num1 + num2;
let formattedTotal = formatNumber(total);
console.log(formattedTotal); // 输出 "250049.39"