分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

js浮点数运算出现误差解决方案

发布时间:2023-09-06 01:23责任编辑:赖小花关键词:js

1.数据展示类(使用 toPrecision 凑整并 parseFloat 转成数字后再显示)

parseFloat(1.4000000000000001.toPrecision(12)) === 1.4 // True 

封装成方法如下:

function strip(num, precision = 12) { ??return +parseFloat(num.toPrecision(precision)); } ?

2.数据运算类(对于运算类操作,如 +-*/,就不能使用 toPrecision 了。正确的做法是把小数转成整数后再运算)

以加法为例:

function add(num1, num2) { ??const num1Digits = (num1.toString().split(‘.‘)[1] || ‘‘).length; ??const num2Digits = (num2.toString().split(‘.‘)[1] || ‘‘).length; ??const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits)); ??return (num1 * baseNum + num2 * baseNum) / baseNum; } ?

js浮点数运算出现误差解决方案

原文地址:http://www.cnblogs.com/sghy/p/7807798.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved