数据类型的转换
程序员文章站
2024-03-18 21:24:52
...
数据类型的转换
1、toString(),将其他类型(包括字符串,布尔值,数值)的数据转换为字符串
当转换数值时tostring方法可以传入一个参数,这个参数代表你想转换的进制数。
2、toFiexd(),将数值类型的数据转换为字符串
接收一个参数,当不填写的时候默认为零;参数代表数值所要保留的小数点位数,遵循我们的四舍五入。
3、parseInt(),字符串类型转换为数值类型的整数
从左到右检测字符串的字符,如果第一个字符为非数字的类型,则终止检测,返回NaN
如果是数字则继续检测继续往下面检测直到遇到非数字为止然后返回前面检测到的数字。
如果需要将为其他进制的数字转换为十进制,需要通过第二个参数来声明其进制数。
比如:var x = “a”;=>console.log(parseInt(x,16));//10
4、parsefloat(),将其他类型的数距转换为浮点数值类型
当小数点后面的值为0时,会忽略掉为0
用法和parseInt相同,但是parsefloat是没有第二个参数
var num =123;
var str = num.toString();
console.log(str,typeof(str));//123 string
var bool = true;
console.log(typeof (bool.toString()));//string
// var und = undefined;
// console.log(typeof(und.toString()));//报错,undefined是没有tostring方法的
//null没有tostring方法
// var n = null;
// console.log(typeof(n.toString())); 报错,
var num1 = 10;
var num2 = num1.toString(2);
console.log(num2);
var num3 = 10.5;
console.log(num3.toString());
var num4 = 2e2;//相当于2*10^2 e代表的是10
console.log(num4,num4.toString());//200,"200"字符串的两百,最后一个。
var str = 123.45;
var num = str.toFixed();
console.log(num,typeof(num));//string
var num = 12.56;
console.log(num.toFixed(1));//12.6
var str = "123";
console.log(typeof parseInt(str));
var str1 ="123.45";
console.log(parseInt(str1),typeof(parseInt(str1)));
var str = "string";
console.log(parseInt(str));//NaN
var str = "true";
console.log(parseInt(str));//NaN
var bool = "true";
console.log(parseInt(bool));//NaN
var str = "";
console.log(parseInt(str));//NaN
var str = "123string";
console.log(parseInt(str));//123
var str = "a12b";
console.log(parseInt(str));//NaN
var num = "a";
console.log(parseInt(num,16));//10
var num = "012";
console.log(parseInt(num,8));//10
console.log(parseInt(num));//12
var num = "12.0";
console.log(parseFloat(num));//12
var num = "12.1";
console.log(parseFloat(num));//12.1
var num = "12.3.5";
console.log(parseFloat(num));//12.3
强制类型转换
1、Boolean(),强制转换为布尔值
非空字符串转换为布尔值都为true,空字符串为false,
非零的数值转换为布尔值都为true,零就转换为false
undefiend/null都转换为false
var str = "string";
console.log(Boolean(str));//true
var str = "123";
console.log(Boolean(str));//true
var str = " ";
console.log(Boolean(str));//true
var str = "";
console.log(Boolean(str));//false
var num = 23;
console.log(Boolean(num));//true
var num = 0;
console.log(Boolean(num));//false
var num = -12;
console.log(Boolean(num));//true
console.log(Boolean(undefined));//false
console.log(Boolean(null));//false
2、Number(),强制转换为数字类型
布尔值true 转换为1
false,null,"" 转换为0
undefined 转换为NaN
console.log(Number(str));//NaN
var str = "12.35";
console.log(Number(str));//12.35
var str = "12.3.5";
console.log(Number(str));//NaN
console.log(Number(true));//1
console.log(Number(false));//0
console.log(Number(undefined));//NaN
console.log(Number(null));//0
var str = "";
console.log(Number(str));//0
3、String(),强制转换为字符串
console.log(typeof(String(undefined)));//string
console.log(String(undefined));//"undefined"
console.log(String(null));//"null"
var str = "123";
var num = 123;
var total = num + parseInt(str);
console.log(total);
上一篇: easyx实现动态绘图——排序过程
下一篇: 单继承和多继承