原文网址: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--使用/实例相关推荐

  1. 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 分类讨 ...

  2. 后端返回number类型数据_【JavaScript 教程】标准库—Number 对象

    作者 | 阮一峰 1.概述 Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用. 作为构造函数时,它用于生成值为数值的对象. var n = new Number(1) ...

  3. oracle是堆屎山,Oracle NUMBER 类型细讲

    1>.NUMBER类型细讲: Oracle number datatype 语法:NUMBER[(precision [, scale])] 简称:precision --> p scal ...

  4. Validform实时表单验证插件实例使用

    文档日期:2016-10-17 适用范围:所有类型网站表单验证 插件版本:v5.3.2 插件地址:http://validform.rjboy.cn/Validform/v5.3.2/Validfor ...

  5. mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型

    NUMBER ( precision, scale)a)  precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度. b)  如果scale大于零,表 ...

  6. 前端系统化学习【JS篇】:(四-1)基本数据类型之Number篇

    前言 细阅此文章大概需要 40分钟\color{red}{40分钟}40分钟左右 本篇中详细讲述\color{red}{详细讲述}详细讲述了: Number数字数据类型简述 isNaN(检测一个值是否 ...

  7. ORACLE PL/SQL 实例精解之第二章 通用编程语言基础

    通用编程语言基础 2.1PL/SQL编程基础 1. 字符类型:支持四中类型字符:字母,数字,符号和空格,组合一个或多个字符就会创建一个词汇单元 2. 词汇单元 a.标识符必须以字符开头 b.保留字是p ...

  8. OracleSpatial函数实例

    Oracle Spatial操作geometry方法 Oracle Spatial中SDO_GEOMETRY类型: CREATE TYPE SDO_GEOMETRY AS OBJECT( SDO_GT ...

  9. 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)

    原题地址: http://www.runoob.com/python/python-100-examples.html git地址: https://github.com/RichardFu123/P ...

  10. 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 ...

最新文章

  1. sql文本编辑器_专业文本编辑工具
  2. github/python/ show me the code 25题(一)
  3. SAP ITS mobile 简介
  4. 编译时和运行时、OC中对象的动态编译机制
  5. FOSCommentBundle功能包:基于ACL安全添加角色
  6. oracle运行环境配置,oracle 环境配置开机自启动
  7. linux的initrd.img的解压和打包
  8. Windows 平台sqlalchemy 连接oracle数据库
  9. Internet流量监管机制之漏桶算法和令牌桶算法
  10. 说说年度补税退税的问题
  11. kitkat(KRT16S)从hal层到app层写法
  12. 预测大盘最准确的指标_炒股天才江恩一辈子研究的指标,准确预测大盘走势
  13. Spring获取外网IP
  14. 程序员经常浏览的网站
  15. 高盛为什么认为中国AI领域将超越美国?
  16. 回顾2022! 链上NFT精彩项目大盘点
  17. 简述基于CPU的机器码运行过程
  18. 关于交换数组元素的技术帖
  19. 最全Airtest接口功能介绍和示例总结,新手同学千万不能错过呀!(一)
  20. face_recognition IndexError: list index out of range

热门文章

  1. VR全景拍摄,助力民宿多元化宣传
  2. mysql可串行化读音,Oracle与MySQL中“可串行化”的对比测试
  3. 观察DNF的伤害计算公式
  4. Kotlin第一课Hello World —— Package、main、fun、import、变量、注释
  5. Oracle运维必修内功:前瞻性运维理念
  6. 科技筑梦创新成长 “探知未来”一直在路上
  7. 用Python做了个不良图片识别系统(附源码)
  8. 医疗数字化:区块链或成最强辅助
  9. 27习题幼儿园买玩具
  10. 创建型模型-单例模式