JavaScript连载5-数据转换为Number与String、数字解析
一、承接连载4
3.null和undefined没有tostring()方法,调用就会报错
var num1 = undefined; console.log(num1.tostring()); var num2 = null; console.log(num2.tostring());
二、string()
1.常规使用
有些值没有tostring()方法,此时可以使用string()方法,比如:null和undefined
2.使用注意
(1)null和undefined,就不会调用tostring()方法,而是直接转换成字符串
(2)对于number和boolean类型的数据,string()方法相当于调用了tostring()方法。
var v1 = null; var v2 = string(v1); console.log(v2); console.log(typeof v2); var v3 = 20; var v4 = string(v3); console.log(v4);
3.拼接字符串的方式
(1)常规用法:任何数据+“”连接到一起就会转化为字符串;内部实现方式和string()一样
var v5 = 1000; var v6 = v5+""; console.log(v6); console.log(typeof v6);
4.将其他类型转换为number类型
(1)字符串转数字
如果是纯数字,则直接转化为数字;如果字符串为空或者是一个全是空格的字符串,则转化为0;如果字符串中有非数字的内容,则转换为nan;
(2)布尔类型转换为数字
true转化为1,false转化为0;
(3)null和undefined转化为数字
null转化为0,undefined转化为nan
var v7 = "1015"; var v8 = number(v7); console.log(v7); console.log(typeof v8); var v9 = ""; var v10 = number(v9); console.log(v10); console.log(typeof v10); var v11 = "411jsdfo"; var v12 = number(v11); console.log(v12); console.log(typeof v12); var v13 = true; var v14 = number(v13); console.log(v14); var v15 = false; var v16 = number(v15); console.log(typeof v16); var v17 = null; var v18 = undefined; var v19 = number(v17); var v20 = number(v18); console.log(v19); console.log(v20);
5.parseint和parsefloat函数
(1)使用意义:number函数中无论字符串中是否存在有效整数都会直接返回nan,利用parseint()和parsefloat()函数可以提取字符串中的有效整数和浮点数
(2)parseint:有两个参数,第一个参数是要转换的字符串,第二个参数是要转换的进制;从第一位有效数字开始,一直到无效数字;如果第一位暴怒是有效数字,则直接返回nan。
(3)parsefloat:不支持第二参数,只能解析十进制的数字;如果解析的内容中函数含有整数,那么只会解析为整数;如果第一位不是有效数字,那么会直接返回nan;从一位有效数字开始,直到遇到无效数字
var a1 = "45145dsf45"; var a2 = "shofa45sdf"; console.log(parseint(a1,10)); console.log(parseint(a2,10)); //主要用于提取带有带有单位的数字,比如15px这种 var a3 = "4554.154dsaf"; var a4 = "josf2.35"; var a5 = "45895dhaif"; console.log(parsefloat(a3)); console.log(typeof parsefloat(a3)); console.log(parsefloat(a4)); console.log(typeof parsefloat(a4)); console.log(parsefloat(a5)); console.log(typeof parsefloat(a5));
三、源码:
d5_1_datatransfrom.html
地址:
https://github.com/ruigege66/javascript/blob/master/d5_1_datatransfrom.html
2.csdn:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取java大数据学习视频礼包