JavaScript中的数值范围介绍

文章参考

http://www.jb51.net/article/59145.htm

JavaScript中所有的数字,无论是整数还是小数,其类型均为Number。在程序内部,Number类型的实质是一个64位的浮点数,这与Java中double类型的浮点数是一致的;因此,JavaScript中所有的数都是浮点数。遵循IEEE 754标准(浮点数算术标准),JavaScript所能表示的数值范围为正负1.7976931348623157乘以10的308次方,其最小所能表示的小数为正负5乘以10的负324次方,这两个边界值可以分别通过访问Number对象的MAX_VALUE属性和MIN_VALUE属性来获取。

对于整数,根据ECMAScript标准的要求(http://ecma262-5.com/ELS5_HTML.htm#Section_8.5),JavaScript能表示并进行精确算术运算的整数范围为:正负2的53次方,也即从最小值-9007199254740992到最大值+9007199254740992之间的范围;对于超过这个范围的整数,JavaScript依旧可以进行运算,但却不保证运算结果的精度。值得注意的是,对于整数的位运算(比如移位等操作),JavaScript仅支持32位整型数,也即从-2147483648到+2147483647之间的整数。

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width,height=device-height">
    <!--<script src="public/js/jquery.js"></script>-->
    <script src="../public/ionic/js/ionic.bundle.min.js"></script>
    <link rel="stylesheet" type="text/css" href="../public/ionic/css/ionic.min.css">
</head>
<body ng-controller="myCtrl">

<button ng-click="alertParam(201604192056421962172)">数据过程</button>

</body>
</html>

<script>

    angular.module('myApp', ['ionic'])
            .controller('myCtrl', function($scope,$ionicModal,$q,$http) {
                $scope.alertParam=function(params){
                    alert(201604192056421962172 > Number.MAX_VALUE);
                    alert(params);//弹出 201604192056421970000
                }
            });

</script>

如果想让传递的数据不变,需要把“整形”转为“字符串”类型

<button ng-click="alertParam('201604192056421962172')">数据过程</button>

猜你喜欢

转载自hbiao68.iteye.com/blog/2301297