您当前的位置: 首页 >  数学

知其黑、受其白

暂无认证

  • 1浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaScript的数学计算库:decimal.js

知其黑、受其白 发布时间:2022-06-15 10:14:39 ,浏览量:1

阅读目录
  • 官网文档
    • decimal.js特性
    • 安装
    • 实例代码
      • 加减乘除

官网文档
   文档:https://mikemcl.github.io/decimal.js/

 github:https://github.com/MikeMcl/decimal.js

 npm地址:https://www.npmjs.com/package/decimal.js

对于小数点的处理可以获取0的个数,并乘以成整数进行运算。

decimal.js特性

1 整数和小数 2 简单的API,但功能齐全 3 复制了很多 JavaScript 的 Number.prototype 的方法和 Math 对象 4 也支持十六进制、二进制、八进制 5 比 Java 的 BigDecima l的 JavaScript 版本更快,更小,更容易使用 6 没有依赖 7 广泛的平台兼容性:仅使用 JavaScript 1.5(ECMAScript 3)功能 8 全面的文档和测试集 9 是 math.js 的底层实现 10 包含一个 TypeScript 声明文件:decimal.d.ts

在这里插入图片描述

安装

该库是单个 JavaScript 文件 decimal.js 或 ES 模块 decimal.mjs。

浏览器


 

  import Decimal from './path/to/decimal.mjs';
  ...

CDN


Node.js

npm install decimal.js

const Decimal = require('decimal.js');
 
import Decimal from 'decimal.js';
 
import {Decimal} from 'decimal.js';
实例代码
doctype html>

 

    
    This is title
    

    这是div元素

 

    0.1 + 0.2                                   // 0.30000000000000004
    const x = new Decimal(0.1);
    const y = x.add(0.2);                      // 0.3
    const z = Decimal(0.7).plus(x).plus(y).toFixed(2);  // 1.10
    console.log(y.toString())
    console.log(z.toString())

 


结果 在这里插入图片描述

加减乘除

加 add 或者 plus

const a = 0.1 + 0.2                        // 0.30000000000000004
const x = new Decimal(0.1);                // 0.1
const y = x.add(0.2);                      // 0.3
const z = Decimal(0.7).plus(x).plus(y).toFixed(2);  // 1.10

减 sub 或 minus

const a = 0.3 - 0.1                     // 0.19999999999999998
const x = new Decimal(0.3);             // 0.3
const y = x.sub(0.1)                    // 0.2
const z = Decimal(0.7).minus(x).minus(y).toFixed(2);  // 0.20

乘 mul 或 times

const a = 0.6 * 3                          // 1.7999999999999998
const x = new Decimal(0.6)                 // 0.6
const y = x.mul(3)                         // '1.8'
const z = Decimal('7e+500').times(y)       // '1.26e+501'

除 div 或 devidedBy

const x = new Decimal(5)         // 5
const y = new Decimal(3)         // 3
const z = x.div(y)               // 1.6666666666666666667
 
Decimal.set({ precision: 3, rounding: 2 })
const z1 = x.div(y)              // 1.67
 
Dec = Decimal.clone({ precision: 4, rounding: 3 })
const x1 = new Dec(5)
const z2 = x1.dividedBy(y)       // 1.66
关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0479s