0


decimal.js--使用/实例

原文网址:decimal.js--使用/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

    本文介绍JavaScript的数学计算库:decimal.js。

官网

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

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

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

decimal.js特性

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

安装

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

浏览器

<script src='path/to/decimal.js'></script>

<script type="module">
  import Decimal from './path/to/decimal.mjs';
  ...
</script>

CDN:

<script src="https://cdn.bootcdn.net/ajax/libs/decimal.js/10.3.1/decimal.js"></script>

Node.js

npm install decimal.js
const Decimal = require('decimal.js');

import Decimal from 'decimal.js';

import {Decimal} from 'decimal.js';

实例

代码

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>This is title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/decimal.js/10.3.1/decimal.js"></script><body>
<div class="container">
    这是div元素
</div>

<script>
    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())
</script>

</body>
</html>

结果

加减乘除

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

其他方法

见:https://mikemcl.github.io/decimal.js/


本文转载自: https://blog.csdn.net/feiying0canglang/article/details/125117203
版权归原作者 IT利刃出鞘 所有, 如有侵权,请联系我们删除。

“decimal.js--使用/实例”的评论:

还没有评论