var num = 2019;
var str = '';
str = num.toString();
console.log('字符串:', str);
前者把值转换成整数,后者把值转换成浮点数。
var str = '1111.1111'
var num = ' '
num = parseInt(str)
console.log('数字:', num);
num = parseFloat(str)
console.log('数字:', num);
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:
console.log('数字:', parseInt("AF", 16)); //returns 175
console.log('数字:', parseInt("10", 2)); //returns 2
console.log('数字:', parseInt("10", 8)); //returns 8
console.log('数字:', parseInt("10", 10)); //returns 10
注
1、强制类型转换
强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
ECMAScript中可用的3种强制类型转换如下:
Boolean型的强制类型转换代码
console.log('强制类型转换:', Boolean("")) //false – empty string
console.log('强制类型转换:', Boolean("hi")) //true – non-empty string
console.log('强制类型转换:', Boolean(100)) //true – non-zero number
console.log('强制类型转换:', Boolean(null)) //false - null
console.log('强制类型转换:', Boolean(0)) //false - zero
console.log('强制类型转换:', Boolean(new Object())) //true – object
Number()的强制类型转换代码
与parseInt()和parseFloat()方法的处理方式相似
console.log('强制类型转换:', Number(false)) //0
console.log('强制类型转换:', Number(true)) //1
console.log('强制类型转换:', Number(undefined)) //NaN
console.log('强制类型转换:', Number(null)) //0
console.log('强制类型转换:', Number("5.5 ")) //5.5
console.log('强制类型转换:', Number("56 ")) //56
console.log('强制类型转换:', Number("5.6.7 ")) //NaN
console.log('强制类型转换:', Number(new Object())) //NaN
console.log('强制类型转换:', Number(100)) //100
2.利用js变量弱类型转换
(1)对数字处理,保留小数点后数字 toFixed() (toFixed() 函数会四舍五入)
var num = 2.446242342;
num = num.toFixed(2);
console.log('输出结果:', num) // 输出结果: 2.45
(2)对数字处理,保留小数点后数字 (不四舍五入)
var num2 = Math.floor(15.7784514000 * 100) / 100
console.log('输出结果:', num2) // 输出结果为 15.77