JavaScript实现加减乘除运算的完整示例
作者:小括号时间:2026-10-30 10:18:29浏览:177
本文提供JavaScript实现加减乘除运算的完整代码示例,重点解析除法函数accDiv中处理浮点数精度问题的逻辑,包括通过字符串分割获取小数位数并动态调整计算精度的方法,帮助开发者避免常见的数值计算误差。
JavaScript加减乘除运算实现
以下是JavaScript实现加减乘除运算的一个基础示例。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<script language="javascript" type="text/javascript">
//除法函数
function accDiv(arg1,arg2){
var t1 = 0, t2 = 0, r1, r2, n;
try
{
t1 = arg1.toString().split(".")[1].length;
}
catch(e)
{t1 = 0;}
try
{
t2 = arg2.toString().split(".")[1].length;
}
catch(e)
{t2 = 0;}
with(Math)
{
r1 = Number(arg1.toString().replace(".",""));
r2 = Number(arg2.toString().replace(".",""));
n = Math.max(t1,t2);
return (r1/r2)*pow(10, t2-t1);
}
}
//乘法函数
function accMul(arg1,arg2)
{
var t1 = 0, t2 = 0, r1, r2;
try
{
t1 = arg1.toString().split(".")[1].length;
}
catch(e)
{t1 = 0;}
try
{
t2 = arg2.toString().split(".")[1].length;
}
catch(e)
{t2 = 0;}
with(Math)
{
r1 = Number(arg1.toString().replace(".",""));
r2 = Number(arg2.toString().replace(".",""));
return (r1*r2)/pow(10, t2+t1);
}
}
//加法函数
function accAdd(arg1,arg2){
var t1 = 0, t2 = 0, m;
try
{
t1 = arg1.toString().split(".")[1].length;
}
catch(e)
{t1 = 0;}
try
{
t2 = arg2.toString().split(".")[1].length;
}
catch(e)
{t2 = 0;}
with(Math)
{
m=Math.pow(10,Math.max(t1,t2));
return (arg1 * m + arg2 * m) / m;
}
}
//减法函数
function accSubtr(arg1,arg2){
var t1 = 0, t2 = 0, m, n;
try
{
t1 = arg1.toString().split(".")[1].length;
}
catch(e)
{t1 = 0;}
try
{
t2 = arg2.toString().split(".")[1].length;
}
catch(e)
{t2 = 0;}
with(Math)
{
//动态控制精度长度
n = Math.max(t1,t2);
m = Math.pow(10, n);
//return (arg1 * m - arg2 * m) / m;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
}
}
//给String类型增加一个div方法,调用起来更加方便。
String.prototype.div = function (arg){
return accDiv(this, arg);
}
//给String类型增加一个mul方法,调用起来更加方便。
String.prototype.mul = function (arg){
return accMul(arg,this);
}
//给String类型增加一个add方法,调用起来更加方便。
String.prototype.add = function (arg){
return accAdd(arg,this);
}
//给String类型增加一个subtr方法,调用起来更加方便。
String.prototype.subtr = function (arg){
return accSubtr(this, arg);
}
function cal()
{
var arg1 = document.Form1.TextBox1.value;
var arg2 = document.Form1.TextBox2.value;
//document.Form1.TextBox5.value = accDiv(arg1, arg2);
//document.Form1.TextBox6.value = accMul(arg1, arg2);
//document.Form1.TextBox7.value = accAdd(arg1, arg2);
//document.Form1.TextBox8.value = accSubtr(arg1, arg2);
document.Form1.TextBox5.value = arg1.div(arg2);
document.Form1.TextBox6.value = arg1.mul(arg2);
document.Form1.TextBox7.value = arg1.add(arg2);
document.Form1.TextBox8.value = arg1.subtr(arg2);
}
</script>
<body>
<form id="Form1" name="Form1" method="post" runat="server">
<div style="border:solid 1px #000000; width:600px;">
<div style="float:left; width:30%;"><input id="TextBox1" type="text" value="0" name="TextBox1" /></div>
<div style="float:left; width:30%;"><input id="TextBox2" value="0" type="text" name="TextBox2" /></div>
<div style="float:left; width:30%;">
<div>accDiv:<input id="TextBox5" type="text" name="TextBox5" /></div>
<div>accMul:<input id="TextBox6" type="text" name="TextBox6" /></div>
<div>accAdd:<input id="TextBox7" type="text" name="TextBox7" /></div>
<div>accSubtr:<input id="TextBox8" type="text" name="TextBox8" /></div>
</div>
<div style="float:right; width:10%;"><input type="button" name="aa" value="cal" onclick="cal();" /></div>
</div>
</form>
</body>
</html>
以上这篇javascript加减乘除的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
