强制类型转换规则是:1、字符转数值,【parseInt()】从左向右一次转换,能转则转,不能转停止,【Math.round()】严格转换,不允许出现任何非数字的字符;2、数值转字符,【toString()】直接转换。
强制类型转换规则是:
字符转数值
parseInt();
从左向右一次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。
parseFloat();
等同于parseInt,同时可以识别小数点
Math.round();
严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数
Number();
严格转换,不允许出现任何非数字的字符,否则NaN;直接转换
var str = "123";
var str = "123abc";
var str = "123abc456";
var str = "a123";
var str = "adasd";
var str = "123.45";
var n = parseInt(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "a567.892";
var n = parseFloat(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "-456.789";
var n = Math.round(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "-456.789a";
var n = Number(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
数值转字符
toString();
直接转换,相当于给要转换的数值,加引号
保留n为小数
toFixed();
加引号的同时,四舍五入保留n位小数,不够,补零
var n = 10.3543;
var s = n.toString();
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);
var n = 10;
var s = n.toFixed(2);
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);
console.log(123.567000000)
数值转字符
var n = 123;
var s = n + "";
console.log(s)
字符转数值
var s = "123";
var n = s – 0;
console.log(n)
其他转数值
true为1,false为0
console.log(1 + true); //2
console.log(1 + false); //1
console.log(1 + undefined); //NaN
console.log(1 + NaN); //NaN
console.log(1 + null); //1
相关学习推荐:编程视频