胖在一方

出得厅堂入得厨房的胖子

导航

JavaScript(三) Number

Posted on 2008-01-28 11:11  胖在一方  阅读(407)  评论(0)    收藏  举报
    Number类型既可以表示32为的整数,也可以表示64位的浮点数. 整数:直接输入(而不是从另一个变量访问的)任何数字都被看作Number型的字面量. 
    
var iNum1=55var iNum2=011//8进制表示(以数字0开始),表示9 
var iNum3=0x12//16进制表示(以数字0开始,后面跟x)表示18 

    尽管所有的整数都可以表示为8进制和16进制,但是所有数学运算返回的结果都是10进制的结果. 浮点数:必须包括小数点和小数点后的一位数字(1.0而不是1).这被看作是浮点数字面量. 
    var fNum1=5.0; 
    var fNum2=3.456e7; //科学记数法表示 34560000
    ECMAScript 默认的把具有6个或6个以上的前导0的浮点数,转换成科学记数法

    几个特殊值也被定义为Number类型的 Number.MAX_VALUE , Number.MIN_VALUE 它们定义了Number值集合的外边界. 所有ECMAScript数都必须在这两个值之间.(不过计算生成的结果可以在不在这个范围内). 当计算的数大于Number.MAX_VALUE,它将被赋予Number.POSITIVE_INFINTY.意味着不在有数值 当计算的数小于Number.MIN_VALUE,它将被赋予Number.NEGATIVE_INFINTY.意味着不在有数值 判断一个数是不是有穷的,可以用inFinite()函数 
    isFinite(number) 方法 返回一个 Boolean 值,指明所提供的数字是否是有限的。 
    必选项 number 参数为任意的数值。 如果 number 不是 NaN 、负无穷或正无穷,那么 isFinite 方法将返回 true 。 
    如果是这三种情况,函数返回 false 。
   
    var tmp1,tmp2,tmp3,tmp4,tmp5; 
    tmp1
=Number.MAX_VALUE; 
    tmp2
=Number.MAX_VALUE; 
    tmp3
=NaN; 
    tmp4
=Number.NEGATIVE_INFINITY; 
    tmp5
=Number.POSITIVE_INFINITY; 
    alert(isFinite(tmp1)); 
//output "true" 
    alert(isFinite(tmp2)); //output "true" 
    alert(isFinite(tmp3)); //output "false" 
    alert(isFinite(tmp4)); //output "false" 
    alert(isFinite(tmp5)); //output "false"
    
    最后一个特殊的值是NaN (Not a Number) ,一般来说,这种情况发生在类型(String,Boolean等)转换失败时,例如,要把单词blue转换成数值 NaN不能参加计算. NaN与自身不相等. 
    alert(NaN==NaN) //outputs "false" 
    推荐用isNaN函数 
    isNaN(numValue) 方法 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 
    必选项 numvalue 参数为要检查是否为 NAN 的值。 
    如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。
    alert(isNaN("0x10")); 
    alert(isNaN(NaN)); 
//outputs "true" 是NaN不是数字 
    alert(isNaN("12A")); //outputs "true" 
    alert(isNaN("13")); //outputs "false" 可以转换为数字 
    alert(isNaN(0x10)); //outputs "false" 16进制