使用 decimal.js 处理 js 计算精度问题
// https://github.com/MikeMcl/decimal.js-light/ // 全局数据计算插件 防止js 计算精度问题 import {Decimal} from 'decimal.js'; // Adjust the global configuration if required (these are the defaults) Decimal.set({ precision: 20, rounding: Decimal.ROUND_HALF_UP, toExpNeg: -7, toExpPos: 21 }); // 获取乘法计算结果 const getTimesNumber = (number,timesNumber) =>{ const dnumber = new Decimal(number) const tnumber = new Decimal(timesNumber) return dnumber.times(tnumber) } // 获取除法计算结果 const getDivNumber = (number,divNumber) =>{ const dnumber = new Decimal(number) const tnumber = new Decimal(divNumber) return dnumber.div(tnumber) } export default { getTimesNumber, getDivNumber }
全局注册
app.config.globalProperties.$Decimal = Decimal
使用:
proxy.$Decimal.getTimesNumber(value , 100) //乘以 100 倍 proxy.$Decimal.getDivNumber(value , 100) //除以 100 倍
当然了上面得到的结果都是字符串你可以继续这样处理
Number(proxy.$Decimal.getTimesNumber(value , 100).toFixed(2)) // 保留两位小数并且转换成数字形式
作者:胡倩倩0903
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
分类:
js
标签:
处理 js 计算精度问题
, decimal.js
posted on 2022-07-04 17:03 kitty20180903suzhou 阅读(609) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!