数字的进制转换
计算机只识别二进制的数据,只输出十进制的数据
- 二进制数据
以0b 或者 0B开头的数据称为二进制数据
二进制数据只能由0 1组成 - 八进制数据:
以0o 或者 0O开头
八进制数据只能由0-7组成 - 十六进制数据
以0x 或者 0X开头
只能由0-9 a-f之间的数据组成
进制转换
二进制转十进制:
0b101010
↑↑↑↑↑↑
543210
1*2^1 + 1*2^3 + 1*2^5 = 42
十六进制转十进制:
0xab
11*16^0 + 12*16^1 = 171
其他数据类型转换为数字
+号:在字符串中不再是数字的相加,而是字符串的拼接.
当字符串中需要进行数字相加的时候,必须把字符串转化为数字,才可以相加
var str = '123.4.5a';
var str1 = 10000;
console.log(str + str1)
//123.4.5a10000
其他数据类型转换为数字
- Number().把字符串当成一个整体进行转换,当字符串不是一个纯数字的时候 就会得到一个NaN
var res = Number(str);
- parseInt() 从左到右一位一位数字进行转换,直到遇到不是数字的就会停止转换,不识别小数点
var res = parseInt(str);
- parseFloat() 从左到右一位一位进行转换,但是会识别一次小数点
var res = parseFloat(str);
- 隐式转换:只能转换纯数字的转换
对字符串进行数学运算中,除了加法运算以外的其他运算
+ - * / %
console.log('123' * 1);
其他数据类型转换为字符串
-
toString()
var num = 100;
var res = num.toString();
-
String()
var res = String(num);
-
隐式转换: 可以给变量拼接一个空的字符串
console.log(num + '');
-
var str = 0x213abc; console.log(str.toString(8))
//转换成八进制
其他数据类型转换为布尔值
所有的数据中只有以下5个数据转换为布尔值的时候为false,其他的所有数据都为true.
0
’ ’
NaN
undefined
null
判断一个数,是否为NaN
isNaN();
返回值:如果是就返回true,如果不是就返回false;
var n = NaN;
console.log(isNaN(n));
//true