var tes = 3000000000000052542;
alert(tes);为什么弹出的结果是3000000000000052700呢?
请高手指点,如果我要传递这样的参数该怎么办呢?

解决方案 »

  1.   

    这是精确问题,LZ可以用字符串传值var tes = "3000000000000052542";
    alert(tes);
      

  2.   

    是的  int型的有一定的数据范围  超过就会出错的
      

  3.   

    用其他类型,用字符串活着double类型的,传过去之后再转型
      

  4.   

    数字与字符串之间的转换。
    要是用的时候必须是数字可再将其转换成int型,parseInt(tes);
      

  5.   

    转成parseInt(tes);还是3000000000000052700<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function show() {
    var tes = "3000000000000052542";
    var txt = tes.split("");
    var arry = new Array();
    for (var i = 0; i < tes.length; i++) {
    arry[i] = parseInt(txt[i]);
    }

    alert(arry.join("",arry));
    }
    //-->
    </SCRIPT>
    </HEAD><BODY onLoad="show()"></BODY>
    </HTML>
    这是数字