织梦网站修改幻灯片,wordpress 导航 图片,网站彩票投注员做啥的,网站后台更新的内容出不来2019独角兽企业重金招聘Python工程师标准 将非数值转换成数值的函数有三个#xff1a;Number(),parseInt(),parseFloat(); 小记tip#xff1a;Number()可以用于任何数据类型#xff1b;parseInt(),parseFloat()针对的是将字符串#xff1b; Number()的转换规… 2019独角兽企业重金招聘Python工程师标准 将非数值转换成数值的函数有三个Number(),parseInt(),parseFloat(); 小记tipNumber()可以用于任何数据类型parseInt(),parseFloat()针对的是将字符串 Number()的转换规则如下主要举一些特殊例子; 第一类nullundefined console.log(Number(null)) //返回的是0console.log(Number(undefined)) //返回的是NaN;第二类字符串 /*************如果是字符串************/console.log(Number(-123)) //返回-123 //字符串只包含数字包括字符串首个字符为加减号则将其转换成十进制数字并且如果首个字符为0则会忽略console.log(Number(123)) //返回123console.log(Number(123)) //返回123console.log(Number(0123)) //返回123//如果字符串中包含有效的浮点格式则相对应的转换成对应的浮点数和上述规则类似首个字符为o则忽略console.log(Number(01.2)) //返回1.2console.log(Number(1.2)) //返回1.2//如果字符串包含有效的十六进制数则转换成大小相同的十进制数console.log(Number(0xaf)) //返回175//如果字符串为空则返回0console.log(Number()) //0//除去以上格式之外则返回NaN;console.log(Number(0120sd)) //NaN第三类object 按照javascript高级程序设计第三版如果是对象则调用对象的valueOf()方法然后依照前面的规则转换返回的值如果转换的结果为NaN非数值,则调用对象的toString()方法然后依照前面的规则转换返回的值下面来直接看测试代码 var ary_new Array(20,25);console.log(ary_.valueOf());//[20,25]; 数组的实例对象 非数值console.log(ary_.toString())//20,25 字符串console.log(Number(ary_)) //NaNvar booleannew Boolean(85)console.log(boolean.valueOf());//trueconsole.log(boolean.toString())//字符串trueconsole.log(Number(boolean))//1var datenew Date(2018,3,18)console.log(date.valueOf()) //1523980800000console.log(date.toString()) //Wed Apr 18 2018 00:00:00 GMT0800 (中国标准时间)console.log(Number(date)) //1523980800000function test(){this.namezh;}console.log(test.valueOf())//返回函数本身非数值console.log(test.toString())//返回函数的字符串形式console.log(Number(test))//NaNvar numnew Number(52);console.log(num.valueOf())//数值52console.log(num.toString())//字符串‘52’console.log(Number(num))//数值52var obj{name:zh,age:25,salary:20000}console.log(obj.valueOf());//返回本身非数值console.log(obj.toString());//[object Object] 字符串console.log(Number(obj)) //NaNvar strnew String(sdsf52);console.log(str.valueOf())//sdsf52 ,字符串的值console.log(str.toString())console.log(Number(str))//NaNparseInt()转换规则 tip:1:忽略字符串前面的空格从第一个字符如果第一个字符串不是数字字符或者负号该函数就会返回NaN一直解析到最后一个字符。如果中途遇到一个非数字的字符则就会停止例如parseInt(2025zh526),返回的2025 tip2:parseInt()会识别整数的格式是十进制还是八进制亦或十六进制以0x开头的并且后面是数字的为 十六进制以0开头后面是数字的为八进制但是在ECMAScript 5 js引擎下parseInt()不具有解析八进制的能力例如parseInt(050);返回的是50 tip3:为了消除上述的困惑parseInt()提供第二个参数来确定是按照那种进制解析字符串,见如下例子 console.log(parseInt(ad)) //NaN
console.log(parseInt(ad,16)) //173
console.log(parseInt(10,8)) //8
console.log(parseInt(10,12)) //12
console.log(parseInt(11,12)) //13 --121
console.log(parseInt(3,2)) //NaN[1,2,3].map(parseInt) 面试题解惑 parseFloat()转换规则 tip1:parseFloat()只解析十进制值 tip2:忽略字符串前面的空格从第一个字符如果第一个字符为0则会忽略一直解析到字符串的尾部直到解析到一个无效的浮点数字符为止字符串的第一个小数点是有效的第二个为无效第二个小数点后面的字符会被忽略下面见几个特殊的例子。 tip3:字符串包含一个整数或者小数点后面都是0则返回整数 console.log(parseFloat(0dsfa))//0;console.log(parseFloat(0xaf))//0;console.log(parseFloat(052dsfa))//52;console.log(parseFloat(dsd0dsfa))//NaN;console.log(parseFloat(520))//520;console.log(parseFloat(3.14e5))//314000;console.log(parseFloat(052.0))//52console.log(parseFloat(052.12.68))//52.12console.log(parseFloat())//NaN转载于:https://my.oschina.net/u/3407699/blog/1645043