<script language="javascript">
function toFloat(f,s)
{
var re=/^[\d]+[\.]{0,1}[\d]*$/;
if (!re.test(f)){return false;}
var t=Math.pow(10,s);
var val=Math.round(f*t);
var dort=val-Math.floor(val/t)*t;
for (i=s;i>1;i--)
{
if (dort<Math.pow(10,i-1))
{
dort='0'+dort;
}
}
return ((s>0)?(Math.floor(val/t)+'.'+dort):(Math.floor(val/t))); 
}</SCRIPT><input name="transmoney" type="text" onblur="this.value=toFloat(this.value,2);" />第一个参数传要格式化的值
第二个参数为保留小数的位数这个函数在使用 toFloat(1.025,2)的时候返回 1.02,这个步骤没有错,但是计算的时候发现1.025*100 居然等于 102.499999999998 ,怎么规避这个错误?高手请解决