输入时,在onkeyup时取event.keyCode
当不在48到57之间的,一律不让输入(这一步方法好多);对于准确,float没有非常准确一说,只有你需要的精度。

解决方案 »

  1.   

    下面是参考代码:<script language="javascript">
    function jsh(obj1,obj2)
    {
    var value1=obj1.value;
    var value2=obj2.value;
    value1=(value1==""?"0":value1);
    value2=(value2==""?"0":value2);
    document.all.result.value=parseFloat(value1)*parseFloat(value2)
    }
    function txt_onkeypressed()
    { if(!InputVerify(event.keyCode))
    {
    event.keyCode = 0;
    }
    }
    function InputVerify(iInput)
    {
    if((iInput>47)&&(iInput<58)||(iInput==8)||(iInput==46)||(iInput==45))
    {
    return true;
    }
    else
    return false;
    }
    </script><INPUT id="left" onkeyup="jsh(this,right)" style="Z-INDEX: 102; LEFT: 144px; POSITION: absolute; TOP: 248px" type="text">
    <INPUT id="right" onkeyup="jsh(this,left)" style="Z-INDEX: 103; LEFT: 328px; POSITION: absolute; TOP: 248px" type="text">
    <INPUT id="result" style="Z-INDEX: 104; LEFT: 528px; POSITION: absolute; TOP: 248px" type="text">对于你要求的精度同一楼的说法一样
      

  2.   

          
    用正则表达式判断是否输入为数字
                    function isNumber(str)
    {
    return str.match(/\D/)==null
    }用parseFloat()转换数据类型
      

  3.   

    isNaN()   //判断是否为数字
    Math.round(number*100)/100  //保留2位小数 number是数字
      

  4.   

    zhuqm(东子)的方法好,简单实用
      

  5.   

    <script language="JavaScript" type="text/JavaScript">
    <!--
    function jsh(obj1,obj2,obj3)
    {
    var value1=obj1.value;
    var value2=obj2.value;
    value1=(value1==""?"0":value1);
    value2=(value2==""?"0":value2);
    obj3.value=Math.round((parseFloat(value1)*parseFloat(value2))*10000)/10000;
    return obj3.value;
    }
    function txt_onkeypressed()
    { if(!InputVerify(event.keyCode))
    {
    event.keyCode = 0;
    }
    }
    function InputVerify(iInput)
    {
    if((iInput>47)&&(iInput<58)||(iInput==8)||(iInput==46)||(iInput==45))
    {
    return true;
    }
    else
    return false;
    }
    //-->
    </script><INPUT name="left" onkeyup="jsh(this,right,result)" type="text">
    <INPUT name="right" onkeyup="jsh(this,left,result)" type="text">
    <INPUT name="result" type="text" readonly>
    <p>
    <INPUT name="left1" onkeyup="jsh(this,right1,result1)" type="text">
    <INPUT name="right1" onkeyup="jsh(this,left1,result1)" type="text">
    <INPUT name="result1" type="text" readonly>