`

javascript精确加减乘除计算

    博客分类:
  • web
阅读更多
<script>
//说明:javascript对计算结果会有误差,在两个浮点数进行计算的时候会比较明显。以下函数返回较为精确的计算结果。

//加法函数,用来得到精确的加法结果 
function accAdd(arg1,arg2){ 
	var r1,r2,m; 
	try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
	try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
	m=Math.pow(10,Math.max(r1,r2)) 
	return (arg1*m+arg2*m)/m; 
} 
//给Number类型增加一个add方法,调用起来更加方便。 
Number.prototype.add = function (arg){ 
	return accAdd(arg,this); 
}

//减法函数
function Subtr(arg1,arg2){
	var r1,r2,m,n;
	try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
	try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
	m=Math.pow(10,Math.max(r1,r2));
	n=(r1>=r2)?r1:r2;
	return ((arg1*m-arg2*m)/m).toFixed(n);
}
Number.prototype.sub = function (arg){ 
	return accAdd(arg,this); 
}

//乘法函数
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) 
} 
Number.prototype.mul = function (arg){ 
	return accMul(arg, this); 
} 

//除法函数
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); 
	}
} 
Number.prototype.div = function (arg){ 
	return accDiv(this, arg); 
}

var a = 9.3;
var b = 3;
var c = a.mul(b);
document.write (c);

</script>
分享到:
评论

相关推荐

    解决JS浮点数(小数)计算加减乘除的BUG

    5. **使用`BigInt`**:对于非常大的整数,JavaScript的`BigInt`类型可以确保精确的计算,但不适用于小数。 总的来说,理解JavaScript浮点数计算的底层原理以及其可能导致的误差是至关重要的。通过采用适当的策略,...

    js 加减乘除

    ### JavaScript中的精确加减乘除实现 在JavaScript中进行数值计算时,经常会出现不精确的情况,尤其是涉及到小数运算时更为明显。这是因为JavaScript中的数字是以IEEE 754双精度浮点数(64位)格式存储的,这种格式...

    详解js加减乘除精确计算

    JavaScript中的加减乘除运算在处理浮点数时可能会出现精度丢失的问题,这是由于计算机内部存储和计算浮点数的方式导致的。...在遇到需要精确计算的JavaScript代码时,调用这些函数替代原生的加减乘除操作即可。

    计算器--简单的加减乘除

    本文将详述“计算器--简单的加减乘除”这一主题,着重解析如何解决数据精度问题,以及在加减乘除操作中保持计算精确性的方法。 首先,我们需要理解计算机在处理数字时可能面临的精度问题。在大多数编程语言中,如...

    javascript加减乘除的简单实例.docx

    此外,为了方便使用,文档还扩展了 `String` 类型,添加了 `div` 和 `mul` 方法,使得可以直接对字符串形式的数字调用这些自定义的加减乘除操作,比如 `var result = "12.34".div("5.67")`。 总结来说,这个实例...

    javascript加减乘除的简洁实例_.docx

    在JavaScript中,进行基本的数学运算如加、减、乘、除是相当直观的,但当我们处理浮点数时,可能会遇到精度问题。这个文档提供了一些简洁的实例,通过自定义函数来解决浮点数计算时可能出现的精度丢失问题。 首先,...

    javascript解决小数的加减乘除精度丢失的方案

    在JavaScript开发中,处理小数加减乘除运算时经常会遇到精度丢失的问题。由于JavaScript中的数字是以IEEE 754标准的双精度64位浮点数来表示的,这就意味着它可以精确地表示的整数范围大约在-***到***之间。当超出这...

    javascrpt的加减乘除运算

    ### JavaScript中的精确加减乘除运算 在JavaScript中进行数学计算时,经常会出现精度丢失的问题,尤其是在处理小数运算时尤为明显。这是因为JavaScript中的数字是以双精度浮点数(64位)形式存储的,遵循IEEE 754...

    javascript解决小数的加减乘除精度丢失的方案.docx

    ### JavaScript 解决小数加减乘除精度丢失的方案 #### 一、引言 在JavaScript中处理小数运算时,经常会遇到一个令人头疼的问题——精度丢失。这主要是因为JavaScript中的数字采用IEEE 754标准下的双精度64位浮点数...

    加减乘除.rar

    在IT领域,尤其是在编程和计算机科学中,"加减乘除"是基本的数学运算,它们构成了所有复杂计算的基础。这些运算符在几乎所有的编程语言中都有所体现,包括C,C++,Java,Python,JavaScript等。让我们深入探讨一下...

    js精确的加减乘除实例

    以下是一个详细的JavaScript精确加减乘除的实例解析。 首先,我们定义一个名为`calc`的立即执行函数表达式(IIFE),它包含四个方法:`Add`、`Sub`、`Mul`和`Div`,分别对应加法、减法、乘法和除法操作。 1. `Add`...

    javascript加减乘除的简单实例

    本文将详细介绍如何创建四个用于精确加减乘除的JavaScript函数,并通过实例来演示它们的工作原理。 首先,我们来看除法函数`accDiv`。这个函数接收两个参数`arg1`和`arg2`,分别代表被除数和除数。为了处理小数部分...

    Javascript 浮点数精确计算

    但是,这种方法在进行加减乘除等操作时需要额外的转换逻辑,性能上可能不如直接使用浮点数。 3. **使用特定库**:有一些JavaScript库,如`decimal.js`或`big.js`,专门用于处理高精度浮点数计算。这些库内部使用大...

    test_JS-数字精确计算_

    由于JavaScript内部使用IEEE 754标准存储和处理浮点数,这可能导致精度损失,尤其是在进行加减乘除等数学运算时。标题"test_JS-数字精确计算_"暗示我们将讨论如何在JavaScript中实现对小范围数字的精确计算。 描述...

    纯css3加减乘除计算器代码

    【纯CSS3加减乘除计算器代码】是一个利用纯CSS3技术实现的简单计算器,它无需JavaScript或者其他编程语言,仅通过CSS3的特性就能完成基本的四则运算。这个项目展示了CSS3的强大潜力,同时也为网页设计师提供了一个...

    JavaScript使用math.js进行精确计算操作示例

    主要介绍了JavaScript使用math.js进行精确计算操作,结合实例形式分析了开源库math.js进行高精度数学运算相关操作技巧,需要的朋友可以参考下

    jquery精度计算代码 jquery指定精确小数位

    在JavaScript和jQuery中,精度计算通常涉及到数字的四舍五入和保留小数位数的操作。这在处理货币、百分比或任何需要精确数值表示的数据时尤为重要。`toFloat`函数是一个自定义的jQuery方法,用于将HTML元素中的数值...

    JavaScript计算器

    在计算器中,JavaScript需要监听用户的点击事件,当用户点击按钮时,读取按钮的值,可能还需要处理加减乘除、清除、等于等操作。JavaScript提供了DOM(Document Object Model)API来操作HTML元素,例如,可以使用`...

    JS浮点数字操作插件floatOPS.js

    在JavaScript编程中,...总结起来,floatOPS.js是一个专注于解决JavaScript中浮点数运算精度问题的插件,通过提供加减乘除四个方法,确保了在进行浮点数运算时的精度,对于需要精确计算的场景具有很高的实用价值。

Global site tag (gtag.js) - Google Analytics