js中精确计算加法和减法示例

 这篇文章主要介绍了js中如何精确计算加法和减法,需要的朋友可以参考下

/精确计算加法和减法。例如0.1+0.2=0.3或 0.1-0.2=-0.1 
 代码如下:
function addFn(dataOne,dataTwo){ 
 
var dataOneInt=dataOne.toString().split(".")[0]; 
var dataOneFloat=""; 
var dataTwoInt=dataTwo.toString().split(".")[0]; 
var dataTwoFloat=""; 
var lengthOne=0; 
var lengthTwo=0; 
var maxlength=0; 
 
if(dataOne.toString().split(".").length==2){ 
dataOneFloat=dataOne.toString().split(".")[1]; 
lengthOne=dataOneFloat.toString().length; 
 

if(dataTwo.toString().split(".").length==2){ 
dataTwoFloat=dataTwo.toString().split(".")[1]; 
lengthTwo=dataTwoFloat.toString().length; 
 

 
maxLength=Math.max(lengthOne,lengthTwo); 
for(var i=0;i<maxLength-lengthOne;i++){ 
dataOneFloat+="0"; 

for(var i=0;i<maxLength-lengthTwo;i++){ 
dataTwoFloat+="0"; 

 
/** 
*对两个数据进行倍数放大 
*使其都变为整数。因为整数计算 
*比较精确。 
*/ 
var one=dataOneInt+""+dataOneFloat; 
var two=dataTwoInt+""+dataTwoFloat; 
//alert("dataOne:"+dataOne+" dataTwo:"+dataTwo +" one:"+one+" two:"+two); 
 
/** 
*数据扩大倍数后,经计算的到结果, 
*然后在缩小相同的倍数 
*进而得到正确的结果 
*/ 
var result= (Number(one)+Number(two))/Math.pow(10,maxLength); 
 
return result; 
 

时间: 2024-12-30 01:26:13

js中精确计算加法和减法示例的相关文章

js中精确计算加法和减法示例_javascript技巧

/精确计算加法和减法.例如0.1+0.2=0.3或 0.1-0.2=-0.1 复制代码 代码如下: function addFn(dataOne,dataTwo){ var dataOneInt=dataOne.toString().split(".")[0]; var dataOneFloat=""; var dataTwoInt=dataTwo.toString().split(".")[0]; var dataTwoFloat="

js浮点数精确计算

 本篇文章主要介绍了js浮点数精确计算(加.减.乘.除) 需要的朋友可以过来参考下,希望对大家有所帮助 代码如下: <SPAN style="FONT-SIZE: 18px">//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果.    //调用:accAdd(arg1,arg2)    //返回值:arg1加上arg2的精确结果    function accAdd(arg1,arg2){       var

Java中精确计算的一个类用BigDecimal

这个类确实好用.在网上找到大的,是一个女Java程序员写的.厉害~~~~~~哈哈/* * 创建日期 2004-10-14 * * 如果需要精确计算,非要用String来够造BigDecimal不可 */package com.lims.actions.testqc.comm; /** * @author Jstar * * * 窗口 > 首选项 > Java > 代码生成 > 代码和注释 */import java.math.BigDecimal; /*** 由于Java的简单类型

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

复制代码 代码如下: (function () { var calc = { /* 函数,加法函数,用来得到精确的加法结果 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. 参数:arg1:第一个加数:arg2第二个加数:d要保留的小数位数(可以不传此参数,如果不传则不处理小数位数) 调用:Calc.Add(arg1,arg2,d) 返回值:两数相加的结果 */ Add: function (arg1, arg2,d) { arg1

js浮点数精确计算(加、减、乘、除)_javascript技巧

复制代码 代码如下: <SPAN style="FONT-SIZE: 18px">//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果.   //调用:accAdd(arg1,arg2)   //返回值:arg1加上arg2的精确结果   function accAdd(arg1,arg2){      var r1,r2,m;      try{r1=arg1.toString().split(".&

js中创建对象的几种方式示例介绍

 JavaScript中的所有事物都是对象,本文为大家介绍下JS中创建对象的几种方式,如原始方法.工厂方法等等 JavaScript中的所有事物都是对象:字符串.数组.数值.函数等.JS中并没有类的概念,    但我们可以利用JS的语法特征,以类的思想来创建对象.    原始方法   代码如下: <script type="text/javascript">    var obj = new Object();  obj.name = "Koji"; /

js中创建对象的几种方式示例介绍_javascript技巧

JavaScript中的所有事物都是对象:字符串.数组.数值.函数等.JS中并没有类的概念, 但我们可以利用JS的语法特征,以类的思想来创建对象. 原始方法 复制代码 代码如下: <script type="text/javascript"> var obj = new Object(); obj.name = "Koji"; //为对象添加属性 obj.age = 21; obj.showName = function(){ //为对象添加方法 ale

Oracle中精确计算row大小的方法

第一步:计算整个Block Header的大小 数据块头部所需要的空间大小由以下公式计算: Space after headers (hsize) = DB_BLOCK_SIZE - KCBH - UB4 - KTBBH - ((INITRANS - 1) * KTBIT) - KDBH 其中的一些参数说明如下: DB_BLOCK_SIZE:数据库的block大小,可以查询V$PARAMETER视图中获得. KCBH.UB4.KTBBH.KTBIT.KDBH都是常量,这些定义的大小可以从V$TY

js中onload与onunload的使用示例_javascript技巧

引言: 今天周末没事,就想起前面自己做的一个B2C的电子商务平台,还有些一些地方没有完善,就想着完善,嗯,问题是这样的,在电子商务平台中有这样一个场景,我将购物车放置在Session中,使其在整个购物的过程中都能从Session中得到购物车模型,我在购物车某型中有的商品都会在数据库中减少其购物车中购买的数量,但是如果我关闭窗口,怎样让Session中的购物车模型中的商品数量添加到数据库中,于是我查找了GOOGLE.百度,得到的第一个提示,就是:关闭窗口自动清除Session,于是找到的第一个方法