● 数值类型转换为字符类型的3种方式。
1. var n = 100;
var n_as_string1 = n + "";
2. var n_as_string2 = String(n); //不常用
3. var n_as_string3 = n.toString(); //也不常用
toFixed( )和toExponential( ) toPrecision( ) 方法
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(2); // "123456.79"
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
toFixed 把数字以一定的格式转换为特殊的字符串,不能用于科学计数法。
●字符转换为数值
1. 自动转换。var product = "21" * "2";
2. var number = string_value - 0 // 注意 不能用+ 这会引起字符串的连接操作。
3. var number = Number(string_value);
//以上转化过于严格 如果number 为非数字类型的,如(number = "100q")则会 返回NAN
parseInt("3 blind mice"); // Returns 3
parseFloat("3.14 meters"); // Returns 3.14
parseInt("12.34"); // Returns 12
parseInt("0xFF"); // Returns 255
parseInt("11", 2); // Returns 3 (1*2 + 1)
parseInt("ff", 16); // Returns 255 (15*16 + 15)
parseInt("zz", 36); // Returns 1295 (35*36 + 35)
parseInt("077", 8); // Returns 63 (7*8 + 7)
parseInt("077", 10); // Returns 77 (7*10 + 7)
Note: If parseInt( ) or parseFloat( ) cannot convert the specified string to a number, it returns NaN:
parseInt("eleven"); // Returns NaN
parseFloat("$72.47"); // Returns NaN
isNaN() 判断一个值 是否是NaN ,NaN 与任何值 都不相等,包括他自身。
● boolean 类型转换
1. Number数值类型 0和NaN 被转为 false,其他转为true;
2.String类型,空字符串转为 false,其他为true;
3. null and the undefined value 被转换为 false ,其他转为true;
如果要把值 比较明确的转换为Boolean 类型,可以用下面的类型。
var x_as_boolean = Boolean(x);
var x_as_boolean = !!x;
例子:
var x="0";
var x1=0;
var x2="";
var x_as_boolean = !!x;
var x1_as_boolean = !!x1;
var x2_as_boolean = !!x2;
alert(x+":"+x_as_boolean); // 0:true
alert(x1+":"+x1_as_boolean);//0:false
alert(x2+":"+x2_as_boolean);//:false