ECMAScript——基本数据类型之number

number:正数、负数、0、小数、NaN

NaN

NaN:no a number,但是属于number类型    type of NaN --> "number"

  NaN和NaN是不相等的 NaN==NaN --> false

isNaN:检测一个值是否是有效数字,是返回false,否返回true

  console.log(isNaN(12)); --> false

  console.log(isNaN(cataway)); --> true

  console.log(isNaN("12")); --> false ,强制数据类型转换

Number() 强制转换

Number() :强制将其他数据类型强制转化成number类型,如果是字符串,要求字符串中全是数字才可以转换

  Number("12"); -- >12

  Number("12px"); -->NaN

 

var val=Number("12px");
if(val ==12){
  console.log(12);  
}else if(val ==NaN){
  console.log(NaN);      
}else{
  console.log("都不成立");        
}

  输出 都不成立

parseInt()和parseFloat():非强制转换

从左到右,一个个字符查找,把是数字的转化为有效数字,直到遇到非有效数字,则终止

  parseInt("12px"); --> 12

  parseInt("cat12"); --> NaN

  parseFloat("12.5px"); --> 12.5  可以多识别一个小数点

 

toFixed():保留小数点后面的位数,返回string

  99.024.toFixed(1); --> "99.0"  保留一位小数

  99.024.toFixed(2); --> "99.02"  保留两位小数

   以此类推

值得注意的是,toFixed在firfox和chrome中表现得不一样,chrome中,会自动进行四舍五入,而firefox只是保留小数,不做任何处理。

Stack Overflow上有详细解答 http://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding

 

原文地址:https://www.cnblogs.com/cataway/p/4964442.html