怎么引入stdin库_优秀的js拓展数学库math.js,解决精度问题

be5479d58790c60e680eb19c048e854d.png

math.js

今天飞哥推荐一个前端在计算上面必定会用到的类库:mathjs。

电商系统中,订单、库存中有数字等加减乘除算术,还有做工业计算的,前端怎么算也不对,我们先看看不对的例子。

JS常见加减乘除算不对的例子

加法算术:0.1+0.2

console.log(0.1+0.2);结果是:0.30000000000000004

减法算术:1-0.9

console.log(1-0.9);结果是:0.09999999999999998

乘法算术 4.10*100

console.log(4.10*100);结果是:409.99999999999994

除法法算术 6.10/0.1

console.log(6.10/0.1);结果是:60.99999999999999

超过9007199254740992的大数加法

console.log(9007199254740992+1);结果是9007199254740992

JavaScript 浮点数运算结果不对,因浮点数的存储问题导致计算结果不对,解决方案是引入数学库math.js,在线上项目中表现很优秀。

math.js 介绍

Math.js是一个用于JavaScript和Node.js的扩展数学库。它具有支持符号计算的灵活表达式解析器,大量内置函数和常量,并提供了集成的解决方案来处理不同的数据类型,例如数字,大数,复数,分数,单位和矩阵,强大且易于使用。

  • 官网:https://mathjs.org/
  • Github代码库:https://github.com/josdejong/mathjs
  • 文档:https://mathjs.org/docs/index.html

特征

  • 支持数字,大数,复数,分数,单位,字符串,数组和矩阵。
  • 与JavaScript的内置Math库兼容,Math用法,一样,门槛低
  • 包含一个灵活的表达式解析器。
  • 进行符号计算。
  • 带有大量内置函数和常量。
  • 也可以用作命令行应用程序。
  • 在任何JavaScript引擎上运行。
  • 很容易扩展。
  • 开源。

帮助使用教程:

1、传统使用,引入math.js

    

npm安装

npm install mathjs

2、ES modules

import { sqrt } from 'mathjs'console.log(sqrt(-4).toString()) // 2i

创建配置

import { create, all } from 'mathjs'// create a mathjs instance with configurationconst config = {  epsilon: 1e-12,  matrix: 'Matrix',  number: 'number',  precision: 64,  predictable: false,  randomSeed: null}const math = create(all, config)// read the applied configurationconsole.log(math.config())// change the configurationmath.config({  number: 'BigNumber'})

3、Node.js

const { sqrt } = require('mathjs')console.log(sqrt(-4).toString()) // 2i

math.js 常用数学功能

math.js 大数功能

原文链接:https://www.ffeeii.com/1992.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值