程序内容来源:http://www.2cto.com/kf/201502/376763.html,也不晓得它是不是从哪儿转的
亲测四个函数可用,留着了:
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.5.1.js"></script>
<script>
function add(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}
function sub(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
}
function mul(a, b) {
var c = 0,
d = a.toString(),
e = b.toString();
try {
c += d.split(".")[1].length;
} catch (f) {}
try {
c += e.split(".")[1].length;
} catch (f) {}
return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}
function div(a, b) {
var c, d, e = 0,
f = 0;
try {
e = a.toString().split(".")[1].length;
} catch (g) {}
try {
f = b.toString().split(".")[1].length;
} catch (g) {}
return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
}
$(document).ready(function(){
var index = 1;
var num = 12.35;
var result;
$("#btn").click(function(){
result = mul(index,num);
$("#result").text(index++ + " x " + num + " = " + result + " " + result.toFixed(1));
});
});
</script>
</head>
<body>
<button id="btn">click</button>
<span id="result">0</span>
</body>
</html>
本文介绍了一种使用JavaScript实现的精确四则运算方法,针对浮点数运算中常见的精度丢失问题提供了解决方案。文章提供了加、减、乘、除四个函数的具体实现,并通过一个示例展示了如何在实际应用中调用这些函数。
3万+

被折叠的 条评论
为什么被折叠?



