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位小数

使用场景

  • 金额、价格、税费计算
  • 涉及小数的加减乘除
  • 科学计算、高精度数据
相关推荐
JarvanMo1 小时前
7 个开源 iOS 应用,让你成为更好的开发者
前端·ios
jjw_zyfx1 小时前
css 点击显示并移动元素,再次点击移回元素并消失
前端·javascript·css
虎子_layor1 小时前
Headless Chrome 该退休了?Obscura 正在给 AI Agent 换浏览器底座
前端·人工智能·后端
深海鱼在掘金1 小时前
Next.js从入门到实战保姆级教程(第六章):服务端组件与客户端组件
前端·typescript·next.js
HookJames2 小时前
Turnkey PCBA - Hero
前端·php
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第十章):表单处理与 Server Actions
前端·typescript·next.js
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第九章):元数据与 SEO 优化
前端·typescript·next.js
сокол2 小时前
【网安-Web渗透测试-Linux提权】SUID提权
linux·前端·web安全·网络安全
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第八章):图像、字体与媒体优化
前端·typescript·next.js