JavaScript/JScript取余数的时候如果被除数 >= 除数时,余数正确的;
当被除数<除数的时候,似乎就不对了。
比如5%7,显示的结果会是5,大概5-0=5余数在小数部分没有取道。
请问这种时候如何取余?

解决方案 »

  1.   

    小数?
    5*10/7 or 5*pow(10,x)%7
    加大x倍, 再除以x倍不就好...
      

  2.   

    <script type="text/javascript">
    //<![CDATA[
     function fModFloat(FirstNum, SecondNum, FloatLen)
     {// sq
      if(!FloatLen&&FloatLen!==0) FloatLen = 3;
      var pow = Math.pow(10, FloatLen);
      FirstNum *= pow;
      return (FirstNum%SecondNum)/pow;
     }
     
     alert(fModFloat(5, 7, 2));
    //]]>
    </script>
      

  3.   

    ..............
    <script type="text/javascript">
    //<![CDATA[
     function fModFloat(FirstNum, SecondNum, FloatLen)
     {// sq
      if(FloatLen===0) return FirstNum%SecondNum;
      if(!FloatLen) FloatLen = 3;
      var pow = Math.pow(10, FloatLen);
      FirstNum *= pow;
      return (FirstNum%SecondNum)/pow;
     }
     
     document.write("fModFloat(5, 7, 0): ", fModFloat(5, 7, 0), "<br/>");
     document.write("fModFloat(5, 7, 1): ", fModFloat(5, 7, 1), "<br/>");
     document.write("fModFloat(5, 7, 2): ", fModFloat(5, 7, 2), "<br/>");
     document.write("fModFloat(5, 7, 3): ", fModFloat(5, 7, 3), "<br/>");
     document.write("fModFloat(5, 7, 4): ", fModFloat(5, 7, 4), "<br/>");
     document.write("fModFloat(5, 7, 5): ", fModFloat(5, 7, 5), "<br/>");
    //]]>
    </script>
      

  4.   

    哦, 上面的当我没发...
    同余(% or mod or modular)只在整数列有效...