number-precision--使用/实例

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

简介

说明

        本文用示例介绍JavaScript库:number-precision的用法。

        number-precision是一个精确地进行加减乘除的JavaScript库。

官网

github:https://github.com/nefe/number-precision   (Star数:3.5K)

npm:https://www.npmjs.com/package/number-precision

为什么要用number-precision

原因:JS计算小数是不准确的

实例:

问题大全

// 加法
0.1 + 0.2 = 0.30000000000000004
0.2 + 0.4 = 0.6000000000000001
 
// 减法
1.5 - 1.2 = 0.30000000000000004
0.3 - 0.2 = 0.09999999999999998
 
// 乘法
19.9 * 100 = 1989.9999999999998
9.7 * 100 = 969.9999999999999
 
// 除法 
0.3 / 0.1 = 2.9999999999999996
0.69 / 10 = 0.06899999999999999

 // 比较
 0.1 + 0.2 === 0.3 // false
 (0.3 - 0.2) === (0.2 - 0.1) // false

安装

npm install number-precision --save

方法

import NP from 'number-precision'

NP.strip(num)         // 转为最接近的正确的数字
NP.plus(num1, num2, num3, ...)   // 加法:num + num2 + num3, 至少需要2个参数
NP.minus(num1, num2, num3, ...)  // 减法:num1 - num2 - num3
NP.times(num1, num2, num3, ...)  // 乘法:num1 * num2 * num3
NP.divide(num1, num2, num3, ...) // 除法:num1 / num2 / num3
NP.round(num, ratio)  // 根据ratio取整

用法

import NP from 'number-precision'

NP.strip(0.09999999999999998); // = 0.1
NP.plus(0.1, 0.2);             // = 0.3, 而不是原来错误的:0.30000000000000004
NP.plus(2.3, 2.4);             // = 4.7, 而不是原来错误的:4.699999999999999
NP.minus(1.0, 0.9);            // = 0.1,  而不是原来错误的:0.09999999999999998
NP.times(3, 0.3);              // = 0.9, 而不是原来错误的:0.8999999999999999
NP.times(0.362, 100);          // = 36.2, 而不是原来错误的:36.199999999999996
NP.divide(1.21, 1.1);          // = 1.1, 而不是原来错误的:1.0999999999999999
NP.round(0.105, 2);            // = 0.11, 而不是原来错误的:0.1

注意

number-precision的使用不够广泛,不如big.js, bignumber.js, decimal.js

同时,number-precision也很少有CDN提供。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值