位置: IT常识 - 正文

教你一文解决 js 数字精度丢失问题(js遇到的问题)

编辑:rootadmin
教你一文解决 js 数字精度丢失问题 文章目录一、关于为什么要解决精度丢失二、怎么解决js的计算精度丢失问题?三、toPrecision 特定方法返回四舍五入长度字符串结语一、关于为什么要解决精度丢失

推荐整理分享教你一文解决 js 数字精度丢失问题(js遇到的问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js 0.1+0.2解决方案,javascript解决了什么问题,js 0.1+0.2解决方案,怎么破解js加密,js小技巧,如何解密js,javascript解决了什么问题,js 0.1+0.2解决方案,内容如对您有帮助,希望把文章链接给更多的朋友!

可以看下例子,因为js失去精度问题也是常见的问题,正常我们可以四舍五入或者 toFixed保留小数这种去解决 现在遇到问题是我们明知道计算结果是等于0.01的但是最后的结果确实true,如果我们遇到运算问题,小数数值比对问题,那么我们就必须要去解决他,否则也就会出现上者情况,出现逻辑判断出错问题

二、怎么解决js的计算精度丢失问题?

正常来说如果是 小数点保留后2位、3位等等,我们可以使用常见的 * 百位数、千位数 实现整位结果后 将结果在除以对应的数位实现结果,如下

console.log(5.22 - 5.21);

console.log((5.22 * 100 - 5.21 * 100) / 100);

根据上方的描述我们再去着眼看我们最开始的例子 结果也就成了我们想要的结果

三、toPrecision 特定方法返回四舍五入长度字符串教你一文解决 js 数字精度丢失问题(js遇到的问题)

当然toFixed也是可以实现对应的长度取舍效果的,因为各大浏览器针对toFixed的各类结果都是不同的有兴趣的同学可以参考下下面这篇文章 toFixed详解

在这里我们只介绍 toPrecision 参照方法详解

那么我们也就知道了此方法是用来干什么的 当然再有一点也就是从左到右 不为0的位置开始计算

上方举例 我们的结果是0.01

如果我们去使用toPrecision的话,那么要填写的参数则为1

返还的结果也就是我们想要的 0.01

然后我们搭配 parseFloat 对字符串进行一个浮点数值转换后,然后对比得出最后结果

console.log(5.22 - 5.21 < 0.01);console.log((5.22 * 100 - 5.21 * 100) / 100 < 0.01);var num = 5.22 - 5.21;console.log(parseFloat(num.toPrecision(1)) < 0.01);

结语

✨ 每天创作一点点 ✨ 开心快乐一整天 ✨ 点赞关注加收藏 ✨ 美好一天又一天

铁铁们 感谢支持 我需要你们的三连 👍👍👍

本文链接地址:https://www.jiuchutong.com/zhishi/300157.html 转载请保留说明!

上一篇:用Pytorch搭建一个房价预测模型(pytorch创建模型)

下一篇:Vue 之 vue3 与 TS 的配合使用整理(vue3和ts)

  • 什么类型的电子商务
  • 分公司亏损总公司怎么办
  • 餐饮业税负上升有什么原因
  • 免 抵 退
  • 房屋出租的成本怎么算
  • 自行研发无形资产暂时性差异
  • 坏账准备的账务处理怎么理解
  • 会计分录怎么确认借贷方向
  • 没残值的固定资产有哪些
  • 免税企业收到的专用发票要怎么转出
  • 虚开发票可以做进项税额转出分录吗?
  • 个人所得税申报退税的条件
  • 预收的销售商品货款通过什么科目核算
  • 长期包租收入如何进行会计处理
  • 进口技术服务需要向海关备案吗
  • 招标文件费开票品目
  • 残联备案还能补缴社保吗
  • 所得税报表里的资产总额在哪里取数
  • 企业购房时支付的房租
  • cpu天梯图2022最新排行榜
  • Win10家庭版安装教程
  • 待抵扣的进项税因不能抵扣做转出的会计处理
  • 留存收益净利润之间关系
  • bios 怎么进去
  • window10为什么没有本地用户和组
  • 租赁公司收到租赁费发票分录
  • 支付投资款怎么做账
  • h5响应式布局是什么
  • 资产减值损失会影响营业利润吗
  • apache去掉php后缀
  • 美国布莱斯大峡谷成因
  • php socket_select
  • 房屋权属变更什么意思
  • 艾罗芒阿
  • 级联选择器 数据回显
  • 公司破产清算应先还银行还是股东
  • 如何在idea中创建xml
  • phptime函数
  • 小米开发回稳定
  • vue笔记大全
  • 汇算清缴补税的情况有哪些
  • 生活办公用品清单
  • 固定资产科目的期末余额,反映固定资产的原价
  • 个税清算所得税怎么计算
  • ipv6的设置
  • 多交的增值税和附加税退回,如何记账
  • 消费税的账务处理方法
  • 一般餐饮业的固废是什么
  • 股东投入的资金在现金流量表中如何提现
  • 结转已到期未兑现的商业承兑汇票会计分录
  • 管理费用有负数怎么结总账
  • 销项税额是专票和普票之和
  • 应交税费期初有余额吗
  • 安装完成后如何检验安装的部分是否符合安装工艺
  • sql语句实现查询示例
  • mysql数据库简单介绍
  • 数据库mysql索引
  • macos sierra版本10.12.6升级
  • win10出现未知错误
  • linux检查文件内容
  • windows8音频服务尚未启用 怎么解决
  • 重装系统后没声音怎么解决win7
  • Win7出现系统恢复选项怎么办
  • win7系统不能安装到此磁盘
  • linux网络设备有哪些
  • bat基本语法
  • jquery prompt
  • js如何使用
  • nodejs基础教程
  • 安卓wifi打不开解决
  • python标准库参考手册
  • android 属性动画改变view大小
  • unity的gui
  • Python连接MySQL并使用fetchall()方法过滤特殊字符
  • android内存占用分析
  • 出口退税企业的账务处理
  • 工会银行卡怎么开通
  • 外经证开错了怎么办
  • 车辆购置税退税申请表
  • 城市土地使用税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设