数字相加,出现一大串小数问题
方法 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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~