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提供。
number-precision--使用/实例相关推荐
- 2.1_3 Oracle float number类型 详解 + 测试实例(测试小数发现BUG)
目录 前言 1 定义 1.1 FLOAT 类型 1.2 NUMBER 类型 2 测试实例 2.1 测试环境 2.2 DDL测试表 SQL 2.3 查看表结构 SQL 2.4 插入测试值 2.5 分类讨 ...
- 后端返回number类型数据_【JavaScript 教程】标准库—Number 对象
作者 | 阮一峰 1.概述 Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用. 作为构造函数时,它用于生成值为数值的对象. var n = new Number(1) ...
- oracle是堆屎山,Oracle NUMBER 类型细讲
1>.NUMBER类型细讲: Oracle number datatype 语法:NUMBER[(precision [, scale])] 简称:precision --> p scal ...
- Validform实时表单验证插件实例使用
文档日期:2016-10-17 适用范围:所有类型网站表单验证 插件版本:v5.3.2 插件地址:http://validform.rjboy.cn/Validform/v5.3.2/Validfor ...
- mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型
NUMBER ( precision, scale)a) precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度. b) 如果scale大于零,表 ...
- 前端系统化学习【JS篇】:(四-1)基本数据类型之Number篇
前言 细阅此文章大概需要 40分钟\color{red}{40分钟}40分钟左右 本篇中详细讲述\color{red}{详细讲述}详细讲述了: Number数字数据类型简述 isNaN(检测一个值是否 ...
- ORACLE PL/SQL 实例精解之第二章 通用编程语言基础
通用编程语言基础 2.1PL/SQL编程基础 1. 字符类型:支持四中类型字符:字母,数字,符号和空格,组合一个或多个字符就会创建一个词汇单元 2. 词汇单元 a.标识符必须以字符开头 b.保留字是p ...
- OracleSpatial函数实例
Oracle Spatial操作geometry方法 Oracle Spatial中SDO_GEOMETRY类型: CREATE TYPE SDO_GEOMETRY AS OBJECT( SDO_GT ...
- 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)
原题地址: http://www.runoob.com/python/python-100-examples.html git地址: https://github.com/RichardFu123/P ...
- pg数据库numeric对应oracle,Oracle类型number与PG类型numeric对比和转换策略
Oracle 11g number 任意精度数字类型 存储数据的范围 正数:1 x 10-130 to 9.99...9 x 10125 ,数据精度为38个有效数字 负数:-1 x 10-130 to ...
最新文章
- sql文本编辑器_专业文本编辑工具
- github/python/ show me the code 25题(一)
- SAP ITS mobile 简介
- 编译时和运行时、OC中对象的动态编译机制
- FOSCommentBundle功能包:基于ACL安全添加角色
- oracle运行环境配置,oracle 环境配置开机自启动
- linux的initrd.img的解压和打包
- Windows 平台sqlalchemy 连接oracle数据库
- Internet流量监管机制之漏桶算法和令牌桶算法
- 说说年度补税退税的问题
- kitkat(KRT16S)从hal层到app层写法
- 预测大盘最准确的指标_炒股天才江恩一辈子研究的指标,准确预测大盘走势
- Spring获取外网IP
- 程序员经常浏览的网站
- 高盛为什么认为中国AI领域将超越美国?
- 回顾2022! 链上NFT精彩项目大盘点
- 简述基于CPU的机器码运行过程
- 关于交换数组元素的技术帖
- 最全Airtest接口功能介绍和示例总结,新手同学千万不能错过呀!(一)
- face_recognition IndexError: list index out of range