js数字计算 误差问题的快速解决方法
发布时间 - 2026-01-10 23:19:05 点击率:次实例如下:
//加法函数,用来得到精确的加法结果
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精确结果
function add(a,b){
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}
//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function mul(a, b) {
var c = 0,
d = a.toString(),
e = b.toString();
try {
c += d.split(".")[1].length;
} catch (f) {}
try {
c += e.split(".")[1].length;
} catch (f) {}
return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}
//减法函数,用来得到精确的减法结果
//说明:javascript的减法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的减法结果。
//调用:accSubtr(arg1,arg2)
//返回值:arg1减去arg2的精确结果
function sub(a,b){
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
}
//除法函数,用来得到精确的除法结果
//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
//调用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精确结果
function div(a, b) {
var c, d, e = 0,
f = 0;
try {
e = a.toString().split(".")[1].length;
} catch (g) {}
try {
f = b.toString().split(".")[1].length;
} catch (g) {}
return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
}
以上这篇js数字计算 误差问题的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# js计算误差
# javascript避免数字计算精度误差的方法详解
# JavaScript 计算误差的解决
# 会有
# 比较明显
# 返回值
# 浮点数
# 给大家
# 希望能
# 这篇
# 解决方法
# 小编
# 大家多多
# span
# style
# background
# accAdd
# pre
# color
# strong
# ccffcc
# class
# javascript
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高性能网站服务器配置指南:安全稳定与高效建站核心方案
iOS正则表达式验证手机号、邮箱、身份证号等
大同网页,大同瑞慈医院官网?
Laravel如何配置Horizon来管理队列?(安装和使用)
网站建设整体流程解析,建站其实很容易!
linux写shell需要注意的问题(必看)
大学网站设计制作软件有哪些,如何将网站制作成自己app?
使用C语言编写圣诞表白程序
Laravel如何实现用户密码重置功能?(完整流程代码)
在线制作视频网站免费,都有哪些好的动漫网站?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Linux安全能力提升路径_长期防护思维说明【指导】
如何批量查询域名的建站时间记录?
如何安全更换建站之星模板并保留数据?
iOS验证手机号的正则表达式
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
HTML 中动态设置元素 name 属性的正确语法详解
创业网站制作流程,创业网站可靠吗?
Laravel如何创建自定义Artisan命令?(代码示例)
Swift开发中switch语句值绑定模式
制作企业网站建设方案,怎样建设一个公司网站?
香港服务器如何优化才能显著提升网站加载速度?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何获取上海专业网站定制建站电话?
百度浏览器如何管理插件 百度浏览器插件管理方法
C#如何调用原生C++ COM对象详解
如何在万网自助建站中设置域名及备案?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
如何快速搭建个人网站并优化SEO?
Laravel如何创建自定义Facades?(详细步骤)
Python数据仓库与ETL构建实战_Airflow调度流程详解
如何基于云服务器快速搭建网站及云盘系统?
如何在阿里云虚拟服务器快速搭建网站?
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
EditPlus 正则表达式 实战(3)

