`
lolopig
  • 浏览: 7413 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

js浮点数的加减乘除运算函数

阅读更多

javascript的预算结果会有误差,在两个浮点数预算的时候会比较明显。这个函数返回较为精确的结果。

/**
 * 加法
 * @param arg1
 * @param arg2
 * @return
 */
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;
}
 /**
 * 减法
 * 
 * @param arg1
 * @param arg2
 * @return
 */
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);
}
 /**

 * 除法
 * @param arg1
 * @param arg2
 * @return
 */
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); 
	} 
}

 /**

 * 乘法
 * @param arg1
 * @param arg2
 * @return
 */
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);
}

 

toFixed()方法不仅仅截去多余的小数位,同时它还根据截取位置的下一个小数位进行四舍五入。

分享到:
评论
1 楼 jiqing0311 2011-03-06  
不错,谢谢分享

相关推荐

    威纶通_宏指令_浮点数加减乘除开方计算机

    在提供的文件`威纶通_宏指令_浮点数加减乘除开方.emtp`中,你可以找到具体的宏指令实现示例,通过学习和实践这些示例,你可以熟练掌握在威纶通触摸屏上进行浮点数运算的方法。这不仅有助于理解宏指令的工作原理,还...

    MathTask_单元测试_加减乘除运算_

    "MathTask_单元测试_加减乘除运算_"这个标题暗示我们正在处理一个与数学运算相关的项目,特别是涉及基本的加法、减法、乘法和除法。这个项目可能是一个计算器应用、一个数学库或者任何其他需要进行数值计算的软件...

    js加减乘除计算器代码.zip

    在JavaScript编程语言中,...通过这个js加减乘除计算器代码,你可以学习到JavaScript基础、DOM操作、事件处理以及简单的算法设计。这是一个很好的实践项目,可以帮助初学者提升编程技能,同时理解前端开发的基本流程。

    js 加减乘除

    3. **自定义函数法**:编写专门的函数来处理加减乘除运算,确保结果的准确性。 下面详细介绍每种方法的具体实现。 #### 三、自定义函数实现 1. **加法**:`accAdd` ```javascript function accAdd(arg1, arg2...

    VS实现加减乘除运算

    以上就是使用VS2010实现简单加减乘除运算的基本步骤。这个过程涵盖了C#的基础语法,包括变量、数据类型、运算符、控制流以及用户交互。当你熟悉了这些概念后,可以尝试更复杂的运算,如括号优先级、函数调用等,...

    BigDecimal加减乘除计算.pdf

    本篇文章将详细探讨`BigDecimal`在加减乘除运算中的应用及其注意事项。 首先,`BigDecimal`对象的初始化有两种常见方式。一种是直接传入一个数字,如`new BigDecimal(0.005)`,另一种是传入一个字符串,如`new ...

    加减乘除运算用c#编写

    在C#编程语言中,进行...以上就是关于C#中进行加减乘除及求幂运算的基本知识点。为了构建一个完整的运算器,你可能还需要考虑错误处理(如除以零的情况)、用户交互(如获取输入并显示结果)以及其他可能的功能扩展。

    VC++简易计算器(加减乘除,三角函数,反三角函数,指数,对数运算)

    【VC++简易计算器】是一个基于Microsoft Visual C++开发的简单计算程序,旨在提供基础的数学运算功能,包括加法、减法、乘法、除法,以及更高级的三角函数、反三角函数、指数和对数运算。这个计算器是为满足日常计算...

    c语言加减乘除的运用简单易懂

    理解并熟练运用加减乘除是编程基础的关键步骤,通过编写和运行简单的程序,如`081208.c`,可以帮助你巩固这些概念。通过不断实践,你会对C语言的运算符有更深入的理解,为后续的编程学习打下坚实的基础。

    c#完成简单的加减乘除运算功能的计算器

    在C#编程语言中,创建一个简单的加减乘除运算功能的计算器是一项基础但重要的练习。这个项目将涉及用户界面的设计、事件处理以及基本的算术运算。下面我们将详细探讨如何实现这一功能。 首先,我们需要使用Windows ...

    区间运算加减乘除Matlab代码

    这通常涉及到对具有误差范围的数值进行操作,例如浮点数计算时的精度问题。区间运算可以提供一种更严谨的方式来处理这些问题,确保结果也包含所有可能的真实值。本项目提供的四个文件`interval_add.m`, `interval_...

    VB2008 加减乘除源码

    在VB2008(Visual Basic 2008)中进行加减乘除运算是一项基本的编程任务,尤其对于初学者来说,掌握这些基础知识至关重要。VB2008是微软开发的一种面向对象的编程环境,它基于.NET Framework运行,支持事件驱动编程...

    输入一个加减乘除的字符串可以计算的计算器

    在IT领域,设计一个能处理加减乘除的字符串计算的计算器是一项常见的任务,它涉及到字符串解析、数学运算以及编程语言的基本语法理解。这个计算器的目标是接收包含加、减、乘、除运算符的字符串,然后正确地计算出...

    加减乘除计算器

    总的来说,创建VB.NET的加减乘除计算器涉及到Windows Forms的使用、控件交互、事件处理、数学运算以及错误处理等基础知识。通过这个项目,开发者可以熟悉VB.NET的基本语法和.NET Framework的使用,为更复杂的Windows...

    javascrpt的加减乘除运算

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

    详解js加减乘除精确计算

    JavaScript中的加减乘除运算在处理浮点数时可能会出现精度丢失的问题,这是由于计算机内部存储和计算浮点数的方式导致的。浮点数在计算机内存中是以二进制表示的,某些十进制小数转换成二进制时无法精确表示,从而...

    shell模拟实现计算器加减乘除demo

    它可以包含一些预定义的测试用例,比如固定的加减乘除运算,确保计算器脚本在不同情况下都能正确工作。在编写测试脚本时,通常会使用`if`语句来检查预期结果是否与实际计算结果一致。 `calculator2.sh`可能是一个更...

    C语言带小数加减乘除.pdf

    在编写程序进行数学计算,尤其是涉及到小数的加减乘除运算时,需要掌握一系列的相关知识点。从给定的文件内容来看,主要涉及了如何在C语言中处理带有小数的数学运算,以及一些基本的程序设计思想。 首先,文件标题...

    c程序加减乘除功能的

    本文档旨在设计一个简单的计算器,实现加减乘除四种基本运算。该计算器使用C语言编写,通过scanf函数从用户输入中获取操作数和运算符,然后使用switch语句根据运算符执行相应的运算,并将结果输出到屏幕上。 知识点...

    C#073加减乘除 源代码

    在"**C#073加减乘除 源代码**"的项目中,你可能会找到演示这些运算的实例代码。通过查看源代码,你可以学习如何在实际的C#程序中运用这些基础知识。源代码通常包括函数、条件语句、循环和其他控制结构,以实现更复杂...

Global site tag (gtag.js) - Google Analytics