谁能告诉我 谁能告诉我
怎么解决呢 好奇怪 真奇怪 lai lailai lailai lailai
夜深了 没几个人了 哎 看来睡不着了

解决方案 »

  1.   

    呵呵,我在一本书上看到的是说javascript不是用于数值运算的,所以对数据运算的支持不是很好,象这种事是常有的,好象没什么好的解决办法,看将来的版本支持了
    (参见powell.j  javascript: complete reference  电子工业出版社 第一章)
      

  2.   

    <script>
    alert(qswhSub(1.90,0.85))
    function qswhSub(n1,n2){
    var r1,r2,m;
    try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}
    try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}
    m=Math.pow(10,Math.max(r1,r2))
    return (n1*m-n2*m)/m
    }
    </script>
      

  3.   

    不是错误,是精度问题。from mscript 5.6 文档:浮点值
    浮点值为带小数部分的数。也可以用科学计数法来表示。这就是说,大写或小写“e”用来表示 10 的次方。Jscript用数值表示的八字节 IEEE754 浮点标准。这意味着数字最大可以到 ±1.7976931348623157x10308,最小到 ±5x10-324。以“0”开始且包含小数点的数字被解释为小数浮点数。
      

  4.   

    var a 这样的变量定义肯定很不准(弱类型性),因为你根本不知道它是float,或者是int,或者是个string。所以,减法肯定是按照float做的,当然就遇到了精度的问题。
      

  5.   

    返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])
    参数
    numObj 
    必选项。一个 Number 对象。 
    fractionDigits 
    可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。 
    说明
    toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。要求
    版本 5.5
    =======================
       ◢◣。       ◢◣。
      ◢★◣。     ◢★◣。
     ◢■■◣。   ◢■■◣。
    ◢■■■◣。 ◢■■■◣。
    ︸︸||︸︸ !!︸︸||︸︸
    愿您有快乐的每一天 ^_^!!