改正后的zelc和Id函数如下(改动的地方见注释)
function zelc()
{
if((document.zobel.re.value <= 0 ) || (document.zobel.lces.value <= 0 ))
{
alert("请输入条件")
}
else
{
re = eval(document.zobel.re.value)
lces = eval(document.zobel.lces.value)
document.zobel.r1.value = eval(re*1.25).toFixed(2)//这里改一下
document.zobel.c1.value = eval((lces*1000000)/(re*re)).toFixed(2)//这里改一下
}
}
function ld()
{
if ((document.lp.impedance.value <=0) || (document.lp.attenuation.value <=0))
alert("请输入条件 !")
else
{
impedance = eval(document.lp.impedance.value)
attenuation = eval(document.lp.attenuation.value)
xval = eval(.05 * attenuation)
document.lp.r1.value = (impedance * (((Math.pow(10, xval)) - 1) / (Math.pow(10, xval)))).toFixed(2)//这里改一下
document.lp.r2.value = (impedance *( 1 / ((Math.pow(10, xval)) - 1))).toFixed(2)//这里改一下
}
}
小数点保留两位小数,可以直接使用js自带的toFix()方法,但这个方法存在兼容问题,
IE的低版本浏览器不支持这个函数。如果考虑兼容,就需要自己编写了。
下面是简单的实现,没有进行大数据验证,所以仅供参考:
function myFix(num){if(isNaN(parseFloat(num))){
return false
} else {
return Math.ceil(num*100)/100
}
}
myFix(4.5234234) //4.52
myFix(4.55555) //4.56