阅读目录

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

官网文档

   文档:https://mikemcl.github.io/decimal.js/github:https://github.com/MikeMcl/decimal.jsnpm地址: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。

浏览器

<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.jsconst 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.30000000000000004const x = new Decimal(0.1);const y = x.add(0.2);                      // 0.3const z = Decimal(0.7).plus(x).plus(y).toFixed(2);  // 1.10console.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.6666666666666666667Decimal.set({ precision: 3, rounding: 2 })
const z1 = x.div(y)              // 1.67Dec = Decimal.clone({ precision: 4, rounding: 3 })
const x1 = new Dec(5)
const z2 = x1.dividedBy(y)       // 1.66

JavaScript的数学计算库:decimal.js相关推荐

  1. C/C++数学计算库

    c/c++数学计算库,他们基本上都是开源的,你完全不必担心版权问题,他们都是一些自由软件,你要做的仅仅是仔细阅读他们的授权协议确保不要滥用就可以了: 计算几何算法库 CGAL CGAL ,计算几何算法 ...

  2. 【转载】常见的C++数学计算库

    转载来源: https://blog.csdn.net/panhao762/article/details/55276811 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿 ...

  3. javaScript的数学计算

    js自带的数学计算的方法 默认加减乘除符号: +.-.*./ NaN与任意操作数加减乘除,结果都是NaN 加法 数字与字符串相加会拼接成字符串 //特殊操作数的求和(n代表任意数字) //NaN与任意 ...

  4. 【JavaScript】数学计算的函数与数字的格式化

    JavaScript中使用5中数学计算符号,+,-,*,/,% 常用的函数 Math.ceil 向上取整,Math.ceil(4.2)的返回值为5 Math.floor  向下取整,Math.floo ...

  5. JavaScript数字运算必备库——big.js源码解析

    概述 在我们常见的JavaScript数字运算中,小数和大数都是会让我们比较头疼的两个数据类型. 在大数运算中,由于number类型的数字长度限制,我们经常会遇到超出范围的情况.比如在我们传递Long ...

  6. Python的一些数学计算库

    库 作用 备注 NumPy 数值计算 ndarray.矩阵 Scipy 科学计算 傅立叶变换.信号处理.稀疏矩阵 Matplotlib 画图 plot.scatter.bar Pandas 数据分析 ...

  7. C/C++语言使用技巧(三十三):强大的数学计算库gsl与算法实现

    gsl(GNU Scientific Library)是专门为应用数学和科学技术领域的数值计算提供支持的软件库.gsl使用C语言编写,同时也为其他语言做了相应的封装.gsl在GNU通用公共许可下是免费 ...

  8. java 数学计算库_数学计算工具类

    [java]代码库/** * Description: [数字计算工具类] * @version 1.0 */ public class MathUtils { /** 一百的常量 */ privat ...

  9. python 数学计算库_Python标准库——数学运算

    SystemRandom 有些操作系统提供了一个随机数生成器,可以访问更多引入生成器的信息源.random通过Systemdom类提供了这个特性,该类与Random的API相同,不过使用os.uran ...

最新文章

  1. NIPS2018 | 腾讯AI Lab入选20篇论文,含2篇Spotlight
  2. linux 设备管理工具 udev 规则编写
  3. 细述hbase协处理器
  4. SAP UI5 Nav container - how the inner control is added
  5. leetcode283. 移动零 比官方更好的解法。
  6. java调试 Linux_Linux上调试java项目
  7. bfs和dfs:poj2386和leetcode130
  8. 自考计算机软件基础真题,2019年4月自考计算机软件基础考试真题试卷
  9. 《软件工程》网上书店项目需求规格说明书
  10. 计算机技术对艺术设计的影响,计算机对艺术设计有何影响
  11. javascript总复习
  12. 上海php程序员职友集,好程序员WEB前端培训|HTML5培训|H5培训-好程序员官网
  13. APISpace 文本情感倾向分析API
  14. 计算机技能大赛 英语,计算机科学与技术学院英语技能大赛圆满结束
  15. excel绘制双坐标折线图
  16. 【江苏省大学生核心就业能力培训(笔记)】
  17. ai新视觉:一键解决模糊图片高清精准修复
  18. APP流量变现之穿山甲广告平台接入
  19. 计算机一直显示配置更新失败怎么办,win10电脑windows更新失败怎么办?更新失败却一直在更新...
  20. 二手书籍的归宿 - 闲鱼、转转官方收书使用体验

热门文章

  1. 将txt文本数据转换为json对象
  2. 19年一些微小的计划
  3. 青龙面板脚本--KSJSB-8月10日可用本及使用教程
  4. rgb颜色设置方法及常用颜色的RGB值
  5. 智能对话机器人实战开发(1)- 体系结构和分类
  6. 方舟(ARK)物品指令代码!
  7. 将虚拟机的Ubuntu映射为windows的网络驱动器
  8. ffmpeg编译gb28181_RTSP/GB28181协议/海康SDK/Ehome协议视频上云网关EasyCVR视频平台在linux环境下ffmpeg源码单步调试环境搭建...
  9. socket.io搭建聊天室
  10. Linux驱动程序教程:如何编写简单的Linux设备驱动程序