JavaScript的数学计算库:decimal.js
阅读目录
- 官网文档
- 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相关推荐
- C/C++数学计算库
c/c++数学计算库,他们基本上都是开源的,你完全不必担心版权问题,他们都是一些自由软件,你要做的仅仅是仔细阅读他们的授权协议确保不要滥用就可以了: 计算几何算法库 CGAL CGAL ,计算几何算法 ...
- 【转载】常见的C++数学计算库
转载来源: https://blog.csdn.net/panhao762/article/details/55276811 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿 ...
- javaScript的数学计算
js自带的数学计算的方法 默认加减乘除符号: +.-.*./ NaN与任意操作数加减乘除,结果都是NaN 加法 数字与字符串相加会拼接成字符串 //特殊操作数的求和(n代表任意数字) //NaN与任意 ...
- 【JavaScript】数学计算的函数与数字的格式化
JavaScript中使用5中数学计算符号,+,-,*,/,% 常用的函数 Math.ceil 向上取整,Math.ceil(4.2)的返回值为5 Math.floor 向下取整,Math.floo ...
- JavaScript数字运算必备库——big.js源码解析
概述 在我们常见的JavaScript数字运算中,小数和大数都是会让我们比较头疼的两个数据类型. 在大数运算中,由于number类型的数字长度限制,我们经常会遇到超出范围的情况.比如在我们传递Long ...
- Python的一些数学计算库
库 作用 备注 NumPy 数值计算 ndarray.矩阵 Scipy 科学计算 傅立叶变换.信号处理.稀疏矩阵 Matplotlib 画图 plot.scatter.bar Pandas 数据分析 ...
- C/C++语言使用技巧(三十三):强大的数学计算库gsl与算法实现
gsl(GNU Scientific Library)是专门为应用数学和科学技术领域的数值计算提供支持的软件库.gsl使用C语言编写,同时也为其他语言做了相应的封装.gsl在GNU通用公共许可下是免费 ...
- java 数学计算库_数学计算工具类
[java]代码库/** * Description: [数字计算工具类] * @version 1.0 */ public class MathUtils { /** 一百的常量 */ privat ...
- python 数学计算库_Python标准库——数学运算
SystemRandom 有些操作系统提供了一个随机数生成器,可以访问更多引入生成器的信息源.random通过Systemdom类提供了这个特性,该类与Random的API相同,不过使用os.uran ...
最新文章
- NIPS2018 | 腾讯AI Lab入选20篇论文,含2篇Spotlight
- linux 设备管理工具 udev 规则编写
- 细述hbase协处理器
- SAP UI5 Nav container - how the inner control is added
- leetcode283. 移动零 比官方更好的解法。
- java调试 Linux_Linux上调试java项目
- bfs和dfs:poj2386和leetcode130
- 自考计算机软件基础真题,2019年4月自考计算机软件基础考试真题试卷
- 《软件工程》网上书店项目需求规格说明书
- 计算机技术对艺术设计的影响,计算机对艺术设计有何影响
- javascript总复习
- 上海php程序员职友集,好程序员WEB前端培训|HTML5培训|H5培训-好程序员官网
- APISpace 文本情感倾向分析API
- 计算机技能大赛 英语,计算机科学与技术学院英语技能大赛圆满结束
- excel绘制双坐标折线图
- 【江苏省大学生核心就业能力培训(笔记)】
- ai新视觉:一键解决模糊图片高清精准修复
- APP流量变现之穿山甲广告平台接入
- 计算机一直显示配置更新失败怎么办,win10电脑windows更新失败怎么办?更新失败却一直在更新...
- 二手书籍的归宿 - 闲鱼、转转官方收书使用体验
热门文章
- 将txt文本数据转换为json对象
- 19年一些微小的计划
- 青龙面板脚本--KSJSB-8月10日可用本及使用教程
- rgb颜色设置方法及常用颜色的RGB值
- 智能对话机器人实战开发(1)- 体系结构和分类
- 方舟(ARK)物品指令代码!
- 将虚拟机的Ubuntu映射为windows的网络驱动器
- ffmpeg编译gb28181_RTSP/GB28181协议/海康SDK/Ehome协议视频上云网关EasyCVR视频平台在linux环境下ffmpeg源码单步调试环境搭建...
- socket.io搭建聊天室
- Linux驱动程序教程:如何编写简单的Linux设备驱动程序