第二种,当作字符串,使用正则匹配:
注意:如果是负数,请先转换为正数再计算,最后转回负数
再分享一个经典的解决四舍五入问题后js保留两位小数的方法:
二、Js取float型小数点后两位数的方法
保留两位小数的方法是在数值或数值变量后加.toFixed(2),就行了.
完整的thirdoder函数如下(改动的地方见注释)
function thirdoder()
{
if((document.third.rh.value <= 0 ) || (document.third.rl.value <= 0 ) || (document.third.fc.value <= 0 ))
{
alert("请输入条件")
}
else
{
rl = eval(document.third.rl.value)
rh = eval(document.third.rh.value)
fc = eval(document.third.fc.value)
document.third.c1.value = eval((.1061/(rh*fc))*1000000).toFixed(2)//这里改一下
document.third.c2.value = eval((.3183/(rh*fc))*1000000).toFixed(2)//这里改一下
document.third.c3.value = eval((.2122/(rl*fc))*1000000).toFixed(2)//这里改一下
document.third.l1.value = eval(( .1194*rh/fc)*1000).toFixed(2)//这里改一下
document.third.l2.value = eval(( .2387*rl/fc)*1000).toFixed(2)//这里改一下
document.third.l3.value = eval(( .0796*rl/fc)*1000).toFixed(2)//这里改一下
}
}
小数点保留2位都可以用.toFixed(2)改正后的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)//这里改一下
}
}