js 处理大数相减
function sub(num1, num2) { if(num1 === num2) return '0' function lt(num1, num2) { if (num1.length < num2.length) { return true } else if (num1.length === num2.length) { return num1 < num2 } else { return false } } let isMinus = false if (lt(num1, num2)) { [num1, num2] = [num2, num1] isMinus = true } let len = Math.max(num1.length, num2.length) num1 = num1.padStart(len, 0) num2 = num2.padStart(len, 0) let flag = 0, result = '', temp for (let i = len - 1; i >= 0; i--) { temp = parseInt(num1[i]) - flag - parseInt(num2[i]) if (temp < 0) { result = (10 + temp) + result flag = 1 } else { result = temp + result flag = 0 } } result = (isMinus ? '-' : '') + result.replace(/^0+/, '') return result } // 传入字符串格式 console.log(sub('9999999999011112','9999999999011111' )) // 1 console.log(sub('9999999999011112','9999999999011113' )) // -1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理