本文主要详细介绍js字符串转换成数字和数字转换成字符串的实现方法。有需要的朋友可以过来参考一下,希望能帮到你。
js字符串转换成数字
parseInt函数用于将字符串转换为数字。ParseInt(string):该函数从字符串的开头开始解析,并返回一个整数。
00-举例:parseInt('123 '):返回123(int);ParseInt('1234xxx '):返回1234(int);
如果数字无法解析,将返回一个NaN的值,可以通过isNaN()函数检测到;
举例 :var I=parse int(' ABC ');if (isNaN(i)){alert('NaN值');}
同一个parseFloat函数将字符串转换为浮点数。
示例:ParseLoan ('31.24abc '):返回31.24;
js数字转换成字符串
将字符串转换为数字需要String类的toString方法。
举例:var I=10;var s=I . tostring();警报(类型为s);//将输出字符串
js数字与字符串的区别
js中数字的加法和字符串的连接都是符号,所以是加法还是字符串的连接取决于变量的类型。
举例:var a=' ABC ' ' XYZ ';//a的值为:abcxyz,string和string相连var a=10 5;//a的值是:15,数是加var a=' abc ' 10//a的值为:abc10,字符串和数字,10自动转换为字符串var a=' abc ' 10 20 ' cd//a的值为:abc1020cdvar a=10 20 ' abc ' ' cd//a的值是:30abccd,可以先用数字相加,再连接。
补充:
js字符串转换数字。方法主要有三种
函数转换,强制类型转换,使用js变量的弱类型转换。
1. 转换函数:
Js提供了两个转换函数,parseInt()和parseFloat()。前者将值转换为整数,后者将值转换为浮点数。只有在字符串类型上调用这些方法时,这两个函数才能正确运行;对于其他类型,返回NaN(非数字)。
一些例子如下:
parse int(' 1234 blue ');//返回1234 parse int('0xA ');//返回10 parse int(' 22.5 ');//返回22 parse int(' blue ');//返回NaN
ParseInt()方法也有base pattern,可以将二进制、八进制、十六进制或任何其他二进制字符串转换为整数。基底由parseInt()方法的第二个参数指定,示例如下:
parseInt('AF ',16);//返回175parseInt('10 ',2);//返回2parseInt('10 ',8);//返回8parseInt('10 ',10);//返回10如果十进制数包含前导0,那么最好采用基数10,以免误得八进制值。比如:parse int(' 010 ');//返回8parseInt('010 ',8);//返回8parseInt('010 ',10);//返回10
ParseFloat()方法类似于parseInt()方法。使用parseFloat()方法的另一个区别是字符串必须以十进制形式表示浮点数,而parseFloat()没有基模式。
以下是使用parseFloat()方法的示例:parse float(' 1234 blue ');//返回1234.0 parse float('0xA ');//返回nanparse float(' 22.5 ');//返回22.5 parsefloat(' 22 . 34 . 5 ');//返回22.34 parsefloat(“0908”);//返回908 parse float(' blue ');//返回NaN
2. 强制类型转换
您也可以使用类型转换来处理转换值的类型。使用cast访问特定的值,即使它是另一种类型。ECMAScript中可用的三种强制类型转换如下:Boolean(value)——将给定值转换为Boolean;Number(value)——将给定的值转换成数字(可以是整数,也可以是浮点数);String(value)——将给定的值转换为字符串。使用这三个函数之一转换值将创建一个新值,并存储从原始值直接转换的值。这会产生意想不到的后果。当要转换的值是至少包含一个字符的字符串、非零数字或对象时,Boolean()函数将返回true。如果值是空字符串、数字0、未定义或null,它将返回false。
以下代码片段可用于测试布尔类型转换。
布尔值(“”);//false空string boolean(' hi ');//true非空string boolean(100);//true非零数字布尔型(null);//false-null boolean(0);//false-zero boolean(new Object());//true对象
Number()的强制类型转换类似于parseInt()和parseFloat()方法,只是它转换的是整个值而不是部分值。例子如下:
结果用法Number(false)0 Number(true)1 Number(未定义)nannumber(null)0 Number(' 5.5 ')5.5 Number(' 56 ')56 Number(' 5 . 6 . 7 ')nannumber(new object())nannumber(100)100
最后一种强制类型转换方法String()是最简单的。示例如下:
var S1=String(null);//' null ' var oNull=null;var S2=on ull . tostring();//不起作用,导致错误
3. 利用js变量弱类型转换
举个小例子,一看就明白了。scriptvar str=' 012.345var x=str-0;x=x * 1;/脚本
上例中利用了js的弱类型特性,只进行算术运算就实现了字符串到数字的类型转换,但这种方法还是不推荐。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。