下面是jquery精度计算代码和指定精确小数位的攻略:
jquery精度计算代码
在js中进行浮点数运算时难免会遇到精度丢失的问题,为了解决这个问题,可以使用以下的jquery精度计算代码:
//加法函数
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;
}
//减法函数
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);
}
//乘法函数
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);
}
//除法函数
function numDiv(num1, num2) {
var baseNum1 = 0, baseNum2 = 0;
var baseNum3, baseNum4;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
}
with (Math) {
baseNum3 = Number(num1.toString().replace(".", ""));
baseNum4 = Number(num2.toString().replace(".", ""));
return (baseNum3 / baseNum4) * pow(10, baseNum2 - baseNum1);
}
}
将上面的代码保存为一个js文件添加到你的网站中。之后你可以调用上面的函数进行浮点数的精度计算。
jquery指定精确小数位
在前端开发中,有时需要将数值保留几位小数,可以使用jquery指定精确小数位进行实现。以下是代码示例:
var num = 123.456789;
var newNum = num.toFixed(2);
console.log(newNum);//输出123.46
上面的代码将num保留两位小数,输出123.46。可以根据需要将2改为其他数字,以保留不同的小数位数。
下面再来一个示例,假设有一个需要计算平均数的数组。
var nums = [1, 2, 3, 4, 5];
var sum = 0;
nums.forEach(function(num){
sum += num;
});
var avg = (sum / nums.length).toFixed(2);
console.log(avg);//输出3.00
上面的代码将nums数组中的数加起来求平均数,并保留两位小数输出。可以根据需要将toFixed的参数改为其他数字来保留不同的小数位数。
希望这些内容对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery精度计算代码 jquery指定精确小数位 - Python技术站