JS的尴尬之计算不精确问题,bignumber.js组件库可以解决这个问题

JS的尴尬之计算不精确问题,bignumber.js组件库可以解决这个问题

用Javascript,160万后面加18个零再除以1乘18个零,就变成了带小数,其他倒是正常

javascript的跟java不一样的
超过了整数范围自动转成浮点数的,尤其是除数运算
你可以看看javascript的手册
你要整数就需要用toFixed函数强制转换一下
alert( 0.1 + 0.2 ); // 0.30000000000000004

let sum = 0.1 + 0.2;
alert( sum.toFixed(2) ); // 0.30

弱类型的编程语言都有这问题的
你换成Typescript就不会有这问题了
Typescript是严格要求声明数据类型的,你普通的javascript代码很难通过编译的

我把他专程BigInt也一样

其实业内已经有相对成熟的组件库可以解决这个问题,这里给大家推荐 bignumber.js

JS的尴尬之计算不精确问题
https://mp.weixin.qq.com/s/maa9dfU3on0ypUFAzn9-BA
你看看上面这篇文章吧

posted @   大自然的流风  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-08-31 英文名为什么最好不用joe?JOE英文名的寓意是什么?
2018-08-31 java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况
2012-08-31 android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹的解决办法
点击右上角即可分享
微信分享提示