<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>
分享到:
相关推荐
5. **使用`BigInt`**:对于非常大的整数,JavaScript的`BigInt`类型可以确保精确的计算,但不适用于小数。 总的来说,理解JavaScript浮点数计算的底层原理以及其可能导致的误差是至关重要的。通过采用适当的策略,...
### JavaScript中的精确加减乘除实现 在JavaScript中进行数值计算时,经常会出现不精确的情况,尤其是涉及到小数运算时更为明显。这是因为JavaScript中的数字是以IEEE 754双精度浮点数(64位)格式存储的,这种格式...
JavaScript中的加减乘除运算在处理浮点数时可能会出现精度丢失的问题,这是由于计算机内部存储和计算浮点数的方式导致的。...在遇到需要精确计算的JavaScript代码时,调用这些函数替代原生的加减乘除操作即可。
本文将详述“计算器--简单的加减乘除”这一主题,着重解析如何解决数据精度问题,以及在加减乘除操作中保持计算精确性的方法。 首先,我们需要理解计算机在处理数字时可能面临的精度问题。在大多数编程语言中,如...
此外,为了方便使用,文档还扩展了 `String` 类型,添加了 `div` 和 `mul` 方法,使得可以直接对字符串形式的数字调用这些自定义的加减乘除操作,比如 `var result = "12.34".div("5.67")`。 总结来说,这个实例...
在JavaScript中,进行基本的数学运算如加、减、乘、除是相当直观的,但当我们处理浮点数时,可能会遇到精度问题。这个文档提供了一些简洁的实例,通过自定义函数来解决浮点数计算时可能出现的精度丢失问题。 首先,...
在JavaScript开发中,处理小数加减乘除运算时经常会遇到精度丢失的问题。由于JavaScript中的数字是以IEEE 754标准的双精度64位浮点数来表示的,这就意味着它可以精确地表示的整数范围大约在-***到***之间。当超出这...
### JavaScript中的精确加减乘除运算 在JavaScript中进行数学计算时,经常会出现精度丢失的问题,尤其是在处理小数运算时尤为明显。这是因为JavaScript中的数字是以双精度浮点数(64位)形式存储的,遵循IEEE 754...
### JavaScript 解决小数加减乘除精度丢失的方案 #### 一、引言 在JavaScript中处理小数运算时,经常会遇到一个令人头疼的问题——精度丢失。这主要是因为JavaScript中的数字采用IEEE 754标准下的双精度64位浮点数...
在IT领域,尤其是在编程和计算机科学中,"加减乘除"是基本的数学运算,它们构成了所有复杂计算的基础。这些运算符在几乎所有的编程语言中都有所体现,包括C,C++,Java,Python,JavaScript等。让我们深入探讨一下...
以下是一个详细的JavaScript精确加减乘除的实例解析。 首先,我们定义一个名为`calc`的立即执行函数表达式(IIFE),它包含四个方法:`Add`、`Sub`、`Mul`和`Div`,分别对应加法、减法、乘法和除法操作。 1. `Add`...
本文将详细介绍如何创建四个用于精确加减乘除的JavaScript函数,并通过实例来演示它们的工作原理。 首先,我们来看除法函数`accDiv`。这个函数接收两个参数`arg1`和`arg2`,分别代表被除数和除数。为了处理小数部分...
但是,这种方法在进行加减乘除等操作时需要额外的转换逻辑,性能上可能不如直接使用浮点数。 3. **使用特定库**:有一些JavaScript库,如`decimal.js`或`big.js`,专门用于处理高精度浮点数计算。这些库内部使用大...
由于JavaScript内部使用IEEE 754标准存储和处理浮点数,这可能导致精度损失,尤其是在进行加减乘除等数学运算时。标题"test_JS-数字精确计算_"暗示我们将讨论如何在JavaScript中实现对小范围数字的精确计算。 描述...
【纯CSS3加减乘除计算器代码】是一个利用纯CSS3技术实现的简单计算器,它无需JavaScript或者其他编程语言,仅通过CSS3的特性就能完成基本的四则运算。这个项目展示了CSS3的强大潜力,同时也为网页设计师提供了一个...
主要介绍了JavaScript使用math.js进行精确计算操作,结合实例形式分析了开源库math.js进行高精度数学运算相关操作技巧,需要的朋友可以参考下
在JavaScript和jQuery中,精度计算通常涉及到数字的四舍五入和保留小数位数的操作。这在处理货币、百分比或任何需要精确数值表示的数据时尤为重要。`toFloat`函数是一个自定义的jQuery方法,用于将HTML元素中的数值...
在计算器中,JavaScript需要监听用户的点击事件,当用户点击按钮时,读取按钮的值,可能还需要处理加减乘除、清除、等于等操作。JavaScript提供了DOM(Document Object Model)API来操作HTML元素,例如,可以使用`...
在JavaScript编程中,...总结起来,floatOPS.js是一个专注于解决JavaScript中浮点数运算精度问题的插件,通过提供加减乘除四个方法,确保了在进行浮点数运算时的精度,对于需要精确计算的场景具有很高的实用价值。