js浮点乘除法运算不精确bug
2024-10-18 20:22:31
//除法函数,用来得到精确的除法结果
//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为 精确的除法结果。
//调用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精确结果
function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为 精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
最新文章
- sql server 2008 外键关联的设置和取消
- 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】
- 云,git,blog,感想
- sqlcmd 登录和执行语句。
- kafka迁移与扩容
- Linux操作系统下软件的安装方法大全
- C++小知识之wsprintf使用
- Android Studio 中提示 Private field 'mType' is assigned but never accessed 的原因
- CodeForces 820C
- SSM-MyBatis-11:Mybatis中查询全部用resultmap
- python5 数字类型 字符串类型 列表类型
- WordCount优化版测试小程序实现
- 【转载】Sqlserver强制密码过期导致数据库登录失败
- Joseph POJ - 1012 约瑟夫环递推
- Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico文件找不到
- swift 灯光的打开与关闭
- openstack之flavor管理
- vue中文章的折叠于显示全部
- 【代码笔记】iOS-请求去掉url中的空格
- 小白学习安全测试(一)——Http协议基础
热门文章
- 前端渲染利器——JsRender入门
- commit(), commitNow()和commitAllowingStateLoss()
- 自定义UITabBarController标签视图控制器
- UIView的layoutSubviews和drawRect方法何时调用
- React Native 之 View使用
- Android XML中引用自定义内部类view的四个why
- Linux shell脚本编程(二)
- Linux 入门之修改主机名
- Linux查看物理CPU个数、核数、逻辑CPU个数
- 关于Retinex图像增强算法的一些新学习。