Menu
Woocommerce Menu

js加减乘除丢失精度问题解决方法,来包含之前的选择集

0 Comment

复制代码 代码如下:

您可能感兴趣的文章:

  • JS模仿MSN右下角弹出提示框代码
  • JavaScript
    文本框下拉提示(自动提示)
  • 让ie运行js时提示允许阻止内容运行的解决方法
  • 简单JS自动提示文本框代码
  • JS仿百度搜索自动提示框匹配查询功能
  • 不提示直接关闭网页窗口的JS示例代码
  • Chrome扩展页面动态绑定JS事件提示错误
  • js实现的标题栏新消息闪烁提示效果
  • 纯JavaScript基于notie.js插件实现消息提示特效

您可能感兴趣的文章:

  • jQuery中add()方法用法实例
  • jQuery中siblings()方法用法实例
  • jQuery中prevUntil()方法用法实例
  • jQuery中prevAll()方法用法实例
  • jQuery中prev()方法用法实例
  • jQuery中parentsUntil()方法用法实例
  • jQuery中parents()方法用法实例
  • jQuery中parent()方法用法实例
  • jQuery中nextUntil()方法用法实例
  • jQuery中andSelf()方法用法实例

/**
* 加法运算,避免数据相加小数点后产生多位数和计算精度损失。
*
* @param num1加数1 | num2加数2
*/
function numAdd(num1, num2) {
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(“.”)[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(“.”)[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (num1 * baseNum + num2 * baseNum) / baseNum;
};
/**
* 加法运算,避免数据相减小数点后产生多位数和计算精度损失。
*
* @param num1被减数 | num2减数
*/
function numSub(num1, num2) {
var baseNum, baseNum1, baseNum2;
var precision;// 精度
try {
baseNum1 = num1.toString().split(“.”)[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(“.”)[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;
return ((num1 * baseNum – num2 * baseNum) /
baseNum).toFixed(precision);
};
/**
* 乘法运算,避免数据相乘小数点后产生多位数和计算精度损失。
*
* @param num1被乘数 | num2乘数
*/
function numMulti(num1, num2) {
var baseNum = 0;
try {
baseNum += num1.toString().split(“.”)[1].length;
} catch (e) {
}
try {
baseNum += num2.toString().split(“.”)[1].length;
} catch (e) {
}
return Number(num1.toString().replace(“.”, “”)) *
Number(num2.toString().replace(“.”, “”)) / Math.pow(10, baseNum);
};
/**
* 除法运算,避免数据相除小数点后产生多位数和计算精度损失。
*
* @param num1被除数 | num2除数
*/
function numDiv(num1, num2) {
var baseNum1 = 0, baseNum2 = 0;
var baseNum3, baseNum4;
try {
baseNum1 = num1.toString().split(“.”)[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(“.”)[1].length;
} catch (e) {
baseNum2 = 0;
}
with (Math) {
baseNum3 = Number(num1.toString().replace(“.”, “”));
baseNum4 = Number(num2.toString().replace(“.”, “”));
return (baseNum3 / baseNum4) * pow(10, baseNum2 – baseNum1);
}
};

后来试了下:context.Response.ContentType = “text/plain;charset=UTF-8”;

对于上面的DOM Tree,当然可以使用

您可能感兴趣的文章:

  • 用php简单实现加减乘除计算器
  • javascript加减乘除的简单实例
  • html+js实现简单的计算器代码(加减乘除)

原返回值设定:context.Response.ContentType = “application/json”;

当我们使用Destructive Method对wrapper
set进行选择、过滤之后会产生一个新的结果集。例如:

在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的。

尝试: context.Response.ContentType = “text/xml;”; 失败

$(‘div’).find(‘p’).css(‘border’, ‘1px solid #993300’);

标签:,

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图