js数字工具类,小数相加、相减溢出等问题

之前遇到小数相加时,小数位数变多了,在网上找了一些方法感觉可以,今天突然发现有些情况还不行了,例如:

1.1+9.04=10.139999999999999
6 1.1+18.08=19.179999999999996
6 1.1+32.77=33.870000000000005
6 1.1+65.54=66.64000000000001
6 1.1+68.93=70.03000000000002
6 1.1+72.32=73.41999999999999

大家也可以试试自己的方法,能不能正常运算出结果。最终解决方案如下:

1、安装

https://www.npmjs.com/package/great-jsutils

npm i great-jsutils --save

2、导入

import { NumberUtils } from "great-jsutils";

3、示例

3.1、随机生成一组整数

默认返回一个小于10的整数,可以指定返回的最大值、最小值,以及返回的个数

import { NumberUtils } from "great-jsutils";

示例1:随机生成一个小于10的整数

NumberUtils.randomInt();

示例2:随机生成一个小于100的整数

NumberUtils.randomInt({max:100});

示例3:随机生成四个大于等于10,小于100的整数

NumberUtils.randomInt({max:100,min:10,number:4})

3.2、随机生成一组浮点数

默认返回一个小于10的浮点数,可以指定返回的最大值、最小值、小数位数,以及返回的个数

示例1:随机生成一个小于10的两位小数的浮点数

NumberUtils.randomInt();

示例2:随机生成一个小于100的两位小数的浮点数

NumberUtils.randomInt({max:100});

示例3:随机生成四个大于等于10,小于100的两位小数的浮点数

NumberUtils.randomInt({max:100,min:10,number:4})

示例4:随机生成四个大于等于10,小于100的三位小数的浮点数

NumberUtils.randomInt({max:100,min:10,number:4,scale3})

3.3、 将数字转人民币大写

console.log(NumberUtils.changeToChinese(1200));// 壹仟贰佰元整

3.4、 将阿拉伯数字转中文表示方式

console.log(NumberUtils.numberToChinese(12)); // 十二

3.5 数字相加

console.log(NumberUtils.sum(1.1,1.3));// 2.4
console.log(1.1+1.3);//2.4000000000000004
  • 一组数字相加
console.log(NumberUtils.adds(1.001,1.3,1.4,2.33,12.3103));//18.3413

3.6 数字相减

console.log(NumberUtils.sub(1.1,1.2));

3.7 数字相乘

console.log(NumberUtils.mul(1.1,1.2));

3.8 数字相除

console.log(NumberUtils.div(1.1,1.2));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值