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

使用场景

  • 金额、价格、税费计算
  • 涉及小数的加减乘除
  • 科学计算、高精度数据
相关推荐
码上暴富17 分钟前
Cursor / VS Code 自定义文件颜色
前端·vscode
开开心心就好20 分钟前
电子教鞭工具支持画框写字插图片功能齐全
android·开发语言·前端·javascript·人工智能·pdf·html
Dovis(誓平步青云)26 分钟前
拍视频前先把镜头想清楚:做一个分镜取景辅助器
android·java·服务器·javascript·人工智能
CarIise1 小时前
下拉菜单HTML/CSS/JS实现
前端·css
2601_962071571 小时前
Java进阶(vue基础)
前端·javascript·vue.js
研☆香1 小时前
数组方法 splice讲解 拓展
开发语言·前端·javascript
码视野1 小时前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端
淡海水1 小时前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement
————A2 小时前
Agent 文件处理中间件
开发语言·javascript·ecmascript
ITresearchGuest2 小时前
LangChain JS 入门:快速搭建前端 AI 开发环境
前端·javascript·langchain