一、背景

我们都知道js是有精度问题的,如下图所示:

在一些金额的计算时,对于精度要求的需要比较精准,所以这个时候,我们是需要特殊进行处理的,所以这个时候就引入了decimal.

二、decimal介绍

decimal.js是使用的二进制来计算的,所以可以更好地实现格化式数学运算,对数字进行高精度处理;使用decimal类型处理数据可以保证数据计算更为精确,还可以节省储存空间。

三、使用

1、npm命令引入decimal.js文件

$ npm install --save decimal.js
/**  Node.js  */
var Decimal = require('decimal.js')/** ES6 方式 */
import { Decimal } from 'decimal.js'

2.加减乘除

 const a = 9.99;const b = 8.03;// 加法let c = new Decimal(a).add(new Decimal(b)) // 减法let d = new Decimal(a).sub(new Decimal(b))// 乘法let e = new Decimal(a).mul(new Decimal(b))// 除法let f = new Decimal(a).div(new Decimal(b))

注意:得到的是Decimal对象,需要转换为number类型哦

Decimal.js相关推荐

  1. 使用Decimal.js解决前端计算金钱失真问题

    使用Decimal.js解决前端计算金钱失真问题 参考文章: (1)使用Decimal.js解决前端计算金钱失真问题 (2)https://www.cnblogs.com/GGDong/p/10997 ...

  2. big.js、bignumber.js 和 decimal.js 的区别

    原文网址:big.js.bignumber.js 和 decimal.js 的区别_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍3个JavaScript的数字处理第三方库的区别,它们是:bi ...

  3. JavaScript的数学计算库:decimal.js

    阅读目录 官网文档 decimal.js特性 安装 实例代码 加减乘除 官网文档 文档:https://mikemcl.github.io/decimal.js/github:https://gith ...

  4. 用decimal.js库解决JavaScript中计算精度丢失的问题

    项目场景: 涉及小数点的计算 精度丢失原因看这里 解决 用decimal.js库,decimal.js是使用的二进制来计算的, 所以能解决js的精度问题. 安装和引入 执行命令npm i decima ...

  5. js Decimal

    GITHUB: https://github.com/MikeMcl/decimal.jsAPI: http://mikemcl.github.io/decimal.js/NPM: https://w ...

  6. 上一篇的js处理失真数据存在问题换了种方法

    1.加法方式 function numAdd(num1: number, num2: number): number{ let baseNum: number, baseNum1: number, b ...

  7. JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后

    Brief 一天有个朋友问我"JS中计算0.7 * 180怎么会等于125.99999999998,坑也太多了吧!"那时我猜测是二进制表示数值时发生round-off error所 ...

  8. 浮点数运算的精度问题:以js语言为例

    在 JavaScript 中整数和浮点数都属于 Number 数据类型,所有数字都是以 64 位浮点数形式储存,即便整数也是如此. 所以我们在打印 1.00 这样的浮点数的结果是 1 而非 1.00  ...

  9. JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后 1

    Brief 一天有个朋友问我"JS中计算0.7 * 180怎么会等于125.99999999998,坑也太多了吧!"那时我猜测是二进制表示数值时发生round-off error所 ...

最新文章

  1. python字符垂直输出型烟雾机_python+opencv实现水平投影和垂直投影
  2. 原子操作和互斥量的区别
  3. kindle刷多看系统_疑问解答 | kindle真的能护眼吗?
  4. apache 统计404日志_Apache监控与调优(四)Apachetop监控
  5. 分享:玩Linux笔记(2) —— 神奇的curl工具
  6. 操作系统编写之引导扇区 1
  7. 工作流:一文让你学会使用flowable工作流
  8. linux中常用的两种分区工具,Linux上的两种磁盘分区工具的使用
  9. [转载]AutoCAD2013 以上利用AccoreConsole+ c# NetApi 批量处理图纸
  10. python条件判断天气_Python小课—条件判断—学习笔记(4)
  11. XTTS V4.3 跨平台迁移12.1.2 HPUX ->Oracle Linux
  12. Apache FOP生成PDF
  13. iOS---Local declaration of hides问题
  14. EasyDarwin开源流媒体服务器Golang版本:拉转推功能之拉流实现方法
  15. 毕业设计 大数据B站数据分析与可视化 - python 数据分析 大数据
  16. ADB命令行卸载或删除你的Android设备中的应用
  17. 大一 计算机应用基础 进制转换
  18. Axure 真正的解决跳转事件无效
  19. [MLP]UNeXt: MLP-based Rapid Medical Image Segmentation Network
  20. 温州市工程师职称申报专业

热门文章

  1. Tomcat清理日志文件无法立即释放磁盘空间
  2. Dart 学习笔记-函数及运算符
  3. 小程序 之 Promise
  4. sqoop conditions原理
  5. mysql function函数语法
  6. C++多态之虚析构与纯虚析构
  7. Ofbiz安装与部署
  8. 申请google drive api并使用rclone挂载团队盘为本地磁盘
  9. nc63提交报未知错误,,dbug查找出事aggvo获取为null
  10. 基于Python的Excel表格差异对比工具