js 处理大数相减
2024-10-21 11:55:17
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
最新文章
- 自定义多列排序:C++/Java实现
- 【BZOJ】1110: [POI2007]砝码Odw
- 关于Java的数据结构HashMap,ArrayList的使用总结及使用场景和原理分析
- LintCode-Compare Strings
- android之手动安装apk到模拟器
- Windows7 下安装ORACLE 11G(遇到的问题)
- leetcode problem 33 -- Search in Rotated Sorted Array
- docker搭建基础的tomcat应用
- 使用PreListener与InteractionListener的一个小发现
- 3255:十进制到六进制-poj
- 如何在linux下使用sudo命令不用输入密码
- 远程桌面控制winsever,复制文件或者文件夹夹时出错提示“未指定的错误” 二(如何让远程电脑识别U盘)
- Hadoop 2.8集群安装及配置记录
- keepalived添加服务自启动报错分析
- linux redis 多实例安装
- h5中input的request属性提示文字字段
- DBA-mysql-授权
- JS3D效果
- 免 Google Play 的安卓应用下载平台
- 解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网
热门文章
- 重磅!瞄准 Web 3.0,谷歌云推出专为区块链服务的 Blockchain Node Engine!
- OuputStreamWriter介绍-OuputStreamReader介绍
- 12月16日内容总结——图书管理系统、聚合与分组查询、F与Q查询
- python3异常打印堆栈信息
- EPICS Archiver Appliance 单点极限储存速率测试
- GPT接入飞书
- 学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)
- .NET依赖注入之一个接口多个实现
- drag拖拽相关
- getUserInfo和getUserProfile被废弃