JS计算加减乘除出现多位小数的解决方法
2024-10-12 11:02:16
function add(arg1, arg2){
let decima1, decima2, differ, m;
try { decima1 = arg1.toString().split('.')[1].length } catch(err) {
decima1 = 0
}
try { decima2 = arg2.toString().split('.')[1].length } catch (err) {
decima2 = 0
}
differ = Math.abs(decima1 - decima2)
m = Math.pow(10, Math.max(decima1, decima2))
if(differ > 0) {
let differM = Math.pow(10, differ)
if(decima1 > decima2) {
arr1= Number(arg1.toString().replace('.', ''))
arr2 = Number(arg2.toString().replace('.', '')) * differM
} else {
arr1 = Number(arg1.toString().replace('.', '')) * differM
arr2 = Number(arg2.toString().replace('.', ''))
}
} else {
arr1 = Number(arg1.toString().replace('.',''))
arr2 = Number(arg2.toString().replace('.', ''))
}
return (arg1 + arg2) / m }
获取两个数的小数位decima1、decima2,把最大的小数位当作10的次方 m,将两个数都转化成整数并相加然后除以 m
最新文章
- ReactNative官方中文文档0.21
- 在浏览器上直接输入url 时,中文传参乱码问题
- setAlpha与View Layer关系
- C++利用注册表添加桌面右键新建菜单
- HTML第九天学习笔记
- sql:[dbo].[smt_MES_RptProductDaily] 生产日报表
- SQL SERVER 查询死锁
- UVA1452|LA4727-----Jump------经典的约瑟夫公式的变形(DP)
- EventBus(事件总线)
- QTP连接MYSQL数据库方法
- python初步(附学习思维导图)
- scrapy爬虫框架setting模块解析
- TextBox使用技巧--转载
- 手动编译websocket-sharp项目使其支持.net core
- 阿里巴巴2017实习生招聘模拟题(部分)---C++后台开发方向
- How to reset macOS Icon Cache
- 让openvpn自启动的命令笔记(windows)
- python 全栈开发,Day78(Django组件-forms组件)
- 变量与算术表达式 - C程序设计语言
- 中国将有可能在全球化的背景下收获新的人口红利:3星|《<;财经>;2019:预测与战略》
热门文章
- python multiprocessing多进程 cannot pickle &#39;_io.TextIOWrapper&#39; object
- 解决pycharm中cv2报错问题,anaconda安装opencv
- echarts——横向柱状堆叠图
- sublime 设置快捷键
- MySQL之校对集问题
- 34.MySQL 架构
- CH340N串口无法检测问题的解决
- antd DatePicker限制日期的选择
- ASP.NET Core 6部署到IIS
- MySQL 常用命令(4)------mysqladmin命令详解