<script language="javascript">
//乘法函数,用来得到精确的乘法结果 
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。 
//调用:accMul(arg1,arg2) 
//返回值:arg1乘以arg2的精确结果 
function accMul(arg1,arg2) 

var m=0,s1=arg1.toString(),s2=arg2.toString(); 
try{m+=s1.split(".")[1].length}catch(e){} 
try{m+=s2.split(".")[1].length}catch(e){} 
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 

//给Number类型增加一个mul方法,调用起来更加方便。 
Number.prototype.mul = function (arg){ 
return accMul(arg, this); 

//加法函数,用来得到精确的加法结果 
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 
//调用:accAdd(arg1,arg2) 
//返回值:arg1加上arg2的精确结果 
function accAdd(arg1,arg2){ 
var r1,r2,m; 
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
m=Math.pow(10,Math.max(r1,r2)) 
return (arg1*m+arg2*m)/m 

//给Number类型增加一个add方法,调用起来更加方便。 
Number.prototype.add = function (arg){ 
return accAdd(arg,this); 
} function myfun() 

  var stra1 = document.getElementById("TextBox1").value; 
  var stra2 =  document.getElementById("TextBox2").value; 
  var stra3 =  document.getElementById("TextBox3").value; 
  //var stra4 = stra1*stra2+stra3*1; 
  var stra4 = accAdd(accMul(stra1,stra2),stra3)
  document.getElementById("TextBox4").value = stra4.toFixed(2); 
} </script><body onmouseout="myfun()"> <form id="Form1" method="post"  runat="server"> 
<INPUT id="TextBox1" type="text"  value="" name="TextBox1"> 
<INPUT id="TextBox2" type="text" value=""  name="TextBox2"> 
<INPUT id="TextBox3" type="text" value=""  name="TextBox3"> 
<INPUT id="TextBox4" type="text"  name="TextBox4"  > 
  </form> </body>