mathjs使用简记

作用

  • 解决 JS 小数计算精度问题(0.1 + 0.2 ≠ 0.3
  • 开启 BigNumber 高精度计算模式
  • 可设置保留指定位数有效数字,计算更安全准确

基本用法

复制代码
import { create, all } from 'mathjs'
const config = {
  number: 'BigNumber', // 开启高精度计算
  precision: 20 // 保留20位有效数字
}
const math = create(all, config)


// 加
math.add(0.1, 0.2)       // 0.1 + 0.2

// 减
math.subtract(0.3, 0.1)  // 0.3 - 0.1

// 乘
math.multiply(0.1, 0.2)  // 0.1 * 0.2

// 除
math.divide(1, 3)        // 1 / 3

// 计算结果是 BigNumber 对象,需要转成正常数字/字符串
const res = math.add(0.1, 0.2)

res.toNumber()  // 转数字 0.3
res.toString()  // 转字符串 "0.3"
math.round(res, 2) // 保留2位小数

使用场景

  • 金额、价格、税费计算
  • 涉及小数的加减乘除
  • 科学计算、高精度数据
相关推荐
爱勇宝3 小时前
大多数人不是在使用 AI 赚钱,而是在帮 AI 公司赚钱
前端·后端·程序员
冬奇Lab4 小时前
每日一个开源项目(第143篇):page-agent - 纯 JS 的网页 GUI Agent,无需截图、无需插件、无需后端
前端·人工智能·agent
To_OC6 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
IT_陈寒8 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
追逐时光者10 小时前
别再满网找零散工具了,腾讯 QQ 浏览器这个“帮小忙”工具箱真能省时间
前端·后端
To_OC12 小时前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
Asmewill12 小时前
grep&curl命令学习笔记
前端
stringwu12 小时前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
用户21366100357213 小时前
Vue2组件化开发与父子通信
前端·vue.js
Momo__13 小时前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript