作者主页:myvin
博主QQ: 851399101 (点击QQ和博主发起临时会话)
接着上一篇 盗“书”笔记——JavaScript Notes(二) 聊。
ecmascript中,浮点数值的最高精度是17位小数,但是在算数计算时精度还是远不如整数。
因为浮点运算会出现舍入不准的问题,所以千万不要测试某个特定的浮点数值。看下面的例子:
console.log(0.1+0.2)   打印出来的结果是:
0.30000000000000004   所以千万不要出现诸如这样的测试:
if(a+b==0.3)   关于浮点计算造成这样的原因需要说明一下:
浮点计算会出现误差的问题,是因为ecmascript的浮点计算是基于IEEE754数值的浮点计算的通病,只要是使用该数值格式的语言都有此问题。
 ecmascript中,数值的范围是    Number.MIN_VALUE 到    Number.MAX_VALUE 。我们可以打印出来看看结果:  
console.log(Number.MIN_VALUE) 5e-324  console.log(Number.MAX_VALUE) 1.7976931348623157e+308    这个数值范围应该足以我们用了。如果超出了这个范围就会输出    Infinity ,负数的话就是    -Infinity ,    Number.POSITIVE_INFINITY 和    Number.NEGATIVE_INFINITY 也分别指的是    Infinity 和    -Infinity 。  
关于Number的数值转换的函数有三个:
 其中,    Number() 函数规则比较繁琐,且转换规则不够合理,所以较常用的是    parseInt 和    parseFloat ,    parseInt 和    parseFloat 是专门用于把字符串转换为数值的。  
       parseInt 从字符串的开始解析,一直解析到无效的数字字符停止,建议使用时指定转换基数;    
       parseFloat 从字符串的开始解析,一直解析到无效的浮点字符,因为该函数只解析十进制,所以也没有指定转换基数只一说。    
 把一个值转换为字符串可以用    toString 方法,数值。布尔值。对象和字符串都有该方法,    null 和    undefined 没有该方法。所以,在无法判断需要转换的值是否为    null 或    undefined 的时候,可以使用转型函数    String() 。关于    String() 函数的转换规则如下:  
toString() 方法,则调用该方法,是不带参数的调用    null ,则返回      null       undefined ,则返回      undefined     还有一点需要注意:
value.toString(); String(value);   分别调用的格式如上。
转载请记得说明作者和出处哦-.-
作者:myvin
原文出处: http://www.cnblogs.com/myvin/p/4730029.html