美文网首页
浮点数精度计算

浮点数精度计算

作者: H5日常记 | 来源:发表于2017-02-23 15:43 被阅读0次

//加法

Number.prototype.add =function(arg){

varr1,r2,m;

try{r1=this.toString().split(".")[1].length}catch(e){r1=0}

try{r2=arg.toString().split(".")[1].length}catch(e){r2=0}

m=Math.pow(10,Math.max(r1,r2))

return(this*m+arg*m)/m

}

//减法

Number.prototype.sub =function(arg){

return this.add(-arg);

}

//乘法

Number.prototype.mul =function(arg)

{

varm=0,s1=this.toString(),s2=arg.toString();

try{m+=s1.split(".")[1].length}catch(e){}

try{m+=s2.split(".")[1].length}catch(e){}

returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)

}

//除法

Number.prototype.div =function(arg){

vart1=0,t2=0,r1,r2;

try{t1=this.toString().split(".")[1].length}catch(e){}

try{t2=arg.toString().split(".")[1].length}catch(e){}

with(Math){

r1=Number(this.toString().replace(".",""))

r2=Number(arg.toString().replace(".",""))

return(r1/r2)*pow(10,t2-t1);

}

}

测试

Js代码

alert(Number(0.09999999).add(0.00000001));//弹出: 0.1

//注意,如果是负数,一定要先使用Number转型,否则结果不正确

alert(Number(-0.09999999).sub(0.00000001));//弹出: -0.1

alert(Number(0.012345).mul(0.000001));//弹出: 1.2345e-8

alert(Number(0.000001).div(0.0001));//弹出: 0.01

相关文章

  • iOS浮点数精度问题

    前言 浮点数是无法精确表示大部分实数的 单精度浮点数和双精度浮点数 单精度(float),一般在计算机中存储占用4...

  • C 浮点数

    浮点数存储带来的问题 问题背景 计算机中浮点数(float或double类型)都有精度范围,对于超出精度范围的浮点...

  • js浮点运算

    前言 在项目开发过程中发现浮点数的运算会出现精度问题,尤其是乘除运算。产生浮点数计算精度不准确的原因: 在计算机角...

  • 浮点数精度计算整合,避免原型链污染

    //浮点数精度计算 highPrecisionMath = { add : function(num1,num2)...

  • 浮点数精度计算

    //加法 Number.prototype.add=function(arg){ varr1,r2,m; try{...

  • 源铸:数值处理问题

    一、数值存储计算方案 高精度浮点数 采用双精度浮点数是最简单的存储方案,数据库支持,编程语言也支持。只要数据库和编...

  • [js]数值的精度

    基础知识 js内部所有数字在计算机内存中的表示都是64位双精度浮点数 双精度浮点数表示法的副作用 使用二进制浮点数...

  • 点滴笔记(2018年08月24日更新)

    问:浮点数为什么存在精度问题? 计算机中的浮点数对应于数学当中的小数。简单计算下,32位浮点数最多可以表示2^32...

  • java基础-浮点数陷阱

    计算机的数值采用的是二进制形式存储。根据IEEE754标准,单精度浮点数为32位: 双精度浮点数为64位: 0.9...

  • Js中做减法时,出现小数位增加Bug

    这个bug是Js固有的,这是因为在javascript中浮点数的计算是以2进制计算的,浮点数精度不准。可以用下面方...

网友评论

      本文标题:浮点数精度计算

      本文链接:https://www.haomeiwen.com/subject/qcjbwttx.html