本文主要详细介绍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的弱类型特性,只进行算术运算就实现了字符串到数字的类型转换,但这种方法还是不推荐。