`
sooxin
  • 浏览: 257538 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

js num 精度计算

 
阅读更多
//去尾法保留2位小数
public static function toLimit2(num:Number):Number{
			var numS:String = "";
			var str:String = num+"";
			var ar:Array = str.split(".");
			numS += ar[0];
			
			if(ar[1]){
				numS +=".";
				if(String(ar[1]).length>1){
					numS += String(ar[1]).substr(0,2);
				}else{
					numS += String(ar[1]).substr(0,1);
				}
			}
			
			return Number(numS);
		}
		
		//number 加减法
		public static function numAdd(arg1,arg2):Number{
			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 除法
		public static function numDiv(arg1,arg2):Number{
			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乘法
		public static function numMul(arg1,arg2):Number{
			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)
		}

 

分享到:
评论

相关推荐

    JS精度计算1、转成整数计算再转换成小数,2、toFixed,3、math.js,4、bignumber.js,5、big.js

    它使用BigNumber类型来处理大数和高精度计算,从而避免了JavaScript浮点数精度问题。例如,`math.bignumber('1234567890.123456789')`可以创建一个大数对象,之后的计算都会保持高精度。 4. **bignumber.js库** `...

    JavaScript小数点精确计算

    6. **使用其他编程语言**:如果项目允许,可以使用像Java、Python等支持任意精度计算的语言进行计算,然后将结果传递给JavaScript。 总结来说,JavaScript的小数点精确计算需要开发者理解其底层机制,选择合适的...

    js加减乘除丢失精度问题解决方法

    代码如下: /** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; try { baseNum

    人民币大写转换js,精确到角

    "人民币大写转换js"是一个常见的需求,它涉及到JavaScript编程语言中的字符串处理和数字格式化技术。下面将详细阐述这个主题。 首先,人民币大写转换通常涉及到以下字符:零(0)、壹(1)、贰(2)、叁(3)、肆...

    js-np:js浮点精度

    js-np 使用javascript精确执行加,减,乘和除运算为什么0.1 + 0.2 = 0.300000000000000041.0 - 0.9 = 0.099999999999999980.105 . toFixed ( 2 ) = 0.1 // not 0.11安装npm install number-precision --save方法NP ....

    js计算小数的通用方法

    在JavaScript中进行数学运算时,尤其是在处理小数运算时,由于JavaScript内部采用的是浮点数表示法(基于IEEE 754标准),这可能会导致计算结果出现精度误差。例如,`0.1 + 0.2` 的结果并不等于 `0.3`,这是因为二...

    使用str2num、str2double、str2int等函数来实现字符串转换为数字类型的功能

    str2num 函数的优点是可以将字符串转换为双精度浮点数,这在科学计算和工程应用中非常有用。 如果需要转换为整型,可以先用 str2double 将字符串转换为 double 类型,再使用 round、floor、ceil 等函数进行舍入操作...

    JavaScript解决浮点数计算不准确问题的方法分析

    有些JavaScript库,如`decimal.js`或`big.js`,专门用于处理高精度的数学计算,避免浮点数的精度问题。如果项目中频繁涉及浮点数计算,可以考虑引入这些库。 总的来说,处理JavaScript中的浮点数精度问题,关键...

    计算器(javascript)、计算两日期间隔天数等

    在IT领域,JavaScript是一种广泛使用的客户端...在实际项目中,你可以根据需求扩展这些功能,比如添加更多运算符、处理浮点数计算、改进日期间隔计算的精度等。通过不断练习和实践,你会更加熟练地掌握JavaScript编程。

    float_calculate:解决浮点数精度计算问题

    js-calculate大家知道 js作为一门弱类型语言,在计算精度(比如说浮点数计算)比如上让我们非常头痛为了避免这个问题 0.3 + 0.6 = 0.8999999999999999 0.3 - 0.2 = 0.09999999999999998 0.3 * 1.5 = 0....

    详解JavaScript中精度失准问题及解决方法

    在JavaScript中,精度失准问题主要源于其内部对...综上所述,理解JavaScript中的精度问题以及如何应对,对于编写涉及高精度计算的代码至关重要。正确地处理这些细节可以帮助我们编写出更加健壮和可靠的JavaScript程序。

    简单的js大整数加法

    在JavaScript中,由于其Number类型的最大安全整数限制(2^53 - 1),处理大整数时可能会遇到精度丢失的问题。为了实现大整数的精确加法运算,我们需要采取特殊的策略。以下是对"简单的js大整数加法"这个主题的详细...

    解决js浮点数运算的精度问题

    在javascript中进行运算的时候经常会出现浮点数的问题,导致运算结果不准确 比如:0.1 + 0.2 = 0.30000000000000004 完整demo及解决方案如下: demo .num-tags, .total-tag { text-align: center; } i { ...

    number.js:JavaScript 数字库

    总的来说,number.js库是一个强大的工具,它可以极大地提升JavaScript项目中的数字处理能力,特别是在需要高精度计算和复杂数学逻辑的场景下。对于开发者来说,理解和掌握这个库的使用不仅可以提高工作效率,还能为...

    js关于精确计算和数值格式化以及直接引js文件

    在JavaScript编程中,处理浮点数的精确计算和数值格式化是开发者常常需要面对的两个问题。由于JavaScript内部使用IEEE 754标准的双精度浮点数进行运算,当涉及到小数运算时很容易出现精度丢失,因此需要通过特定的...

    Javascript获取界面数字做比较常见问题

    在比较时,可以考虑四舍五入或使用特定库(如`decimal.js`)处理高精度计算。 #### 3.3 正负零比较 JavaScript中存在正零和负零,它们在比较时不等价: ```javascript console.log(-0 === 0); // 输出:true ``` 但...

    ieee754-demo-js:JavaScript中的IEEE 754浮点数演示

    总之,`ieee754-demo-js`项目为学习和理解JavaScript中的IEEE 754浮点数提供了一个实用工具,帮助开发者深入掌握数字在计算机内部的表示方式,以及这如何影响他们的代码和计算结果。通过这样的实践,可以提高对...

    【案例1】比较数字大小.zip

    3. **数值精度问题**:JavaScript中的浮点数比较可能存在精度问题,对于高精度计算,可以使用第三方库如`decimal.js`。 4. **数组排序**:如果需要比较一组数字并进行排序,可以利用`Array.prototype.sort()`方法,...

    You Don't Know JS - Types & Grammar

    这可能会导致精度问题,在进行数学计算时需要注意。 #### 原生包装器对象 JavaScript为每种原始类型提供了原生包装器对象:`Number`、`String` 和 `Boolean`。这些对象允许将原始值转换为对象,从而可以访问更多...

Global site tag (gtag.js) - Google Analytics