数字相加,出现一大串小数问题

方法 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"

posted @   梦初醒已无言  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示