JavaScript数字字符转数据类型

来源:互联网 发布:python png alpha合成 编辑:程序博客网 时间:2024/06/06 10:38

html中我们从prompt或者文本输入框text输入数字只能得到字符型,我们需要将其转换为数据类型。JavaScript提供了3种方法:1、调用转换函数;2、强制转换;3、变量弱类型转换。

一、 调用转换函数
1、形式
1、字符转整形函数:parseInt(“字符串”);
2、字符转浮点型函数:parseFloat(“字符串”);

2、总结:
1、 这两个函数会将字符串从左往右检查,查找到以一个非数据字符
就会停止并返回一个对应类型的数据,如果第一个就是非数据字
符就会返回一个NaN(Not a Num)。
2、 parseInt(“字符串”);可以控制输入进制数输出十进制数,需要
转换的字符串的有效数制为十进制和十六进制。或者使用换为十
进制数。
3、 parseFloat(“字符串”);只能十进制

4、 具体实例:
字符转整形函数
1、:parseInt(“字符串”)
document.write(“33kk转换为整形:”+parseInt(“33kk”)); // 33kk转换为整形:33
document.write(“33.3kk转换为整形:”+parseInt(“33.3kk”)); //33.3kk转换为整形:33
document.write(“kk33转换为整形:”+parseInt(“kk33”)); //kk33转换为整形:NaN

2、字符转整形函数:parseInt(“字符串”)—–进制转换
document.write(“0x33.3kk转换为整形:”+parseInt(“0x33.3kk”)); //0x33.3kk转换为整形:51
document.write(“033kk转换为整形:”+parseInt(“033”));//033转换为整形:33(8进制无效)

3、形式:parseInt(“字符串”,进制值)
document.write(“33(8进制)转换为整形:”+parseInt(“33”,8)); //33(8进制)转换为整形:27
document.write(“33(16进制)转换为整形:”+parseInt(“33”,16))// 33(16进制)转换为整形:51
document.write(“11(2进制)转换为整形:”+parseInt(“11”,2)) //11(2进制)转换为整形:3
字符转浮点形函数
document.write(“33.3kk转换为整形:”+parseInt(“33.3kk”)); //33.3kk转换为整形:33
document.write(“kk33.3转换为整形:”+parseInt(“kk33.3”)); // kk33.3转换为整形:NaN
二、 强制转换
JavaScript提供了Number(“字符串”);可以将整形或浮点型的字符串转换为对应的类型,但是他将一整个字符串一起转换。
具体实例:
document.write(“33转换为数据类型:”+Number(“33”)); //33转换为数据类型:33
document.write(“33.3转换为数据类型:”+Number(“33.3”)); //33.3转换为数据类型:33.3
document.write(“33.3k转换为数据类型:”+Number(“33.3k”)); //33.3k转换为数据类型:NaN

三、 变量弱类型转换—–将数据类型的字符串直接参与运算
实例:
var str=”99.1”;
var result=str-0.1;
document.write(“str类型为”+typeof(str));
document.write(“result类型为”+typeof(result));
结果为:str类型为string
result类型为number

<html lang="en"> <head>  <meta charset="UTF-8">  <title>Document</title>  <script type="text/javascript">    document.write("33kk转换为整形:"+parseInt("33kk")+"<br/><br/>");     document.write("33.3kk转换为整形:"+parseInt("33.3kk")+"<br/><br/>");    document.write("kk33转换为整形:"+parseInt("kk33")+"<br/><br/>");    document.write("0x33.3kk转换为整形:"+parseInt("0x33.3kk")+"<br/><br/>");    document.write("033转换为整形:"+parseInt("033")+"<br/><br/>");    document.write("33.3(8进制)转换为整形:"+parseInt("33.3kk",8)+"<br/><br/>");    document.write("33(16进制)转换为整形:"+parseInt("33",16)+"<br/><br/>");    document.write("11(2进制)转换为整形:"+parseInt("11",2)+"<br/><br/>");    document.write("11(2进制)转换为整形:"+parseInt("11",2)+"<br/><br/>");    document.write("33.3kk转换为整形:"+parseInt("33.3kk")+"<br/><br/>");    document.write("kk33.3转换为整形:"+parseInt("kk33.3")+"<br/><br/>");    document.write("33转换为数据类型:"+Number("33")+"<br/><br/>");    document.write("33.3转换为数据类型:"+Number("33.3")+"<br/><br/>");    document.write("33.3k转换为数据类型:"+Number("33.3k")+"<br/><br/>");    var str="99.1";    var result=str-0.1;    document.write("str类型为"+typeof(str)+"<br/><br/>");    document.write("result类型为"+typeof(result)+"<br/><br/>");  </script> </head> <body> </body></html>
0 0
原创粉丝点击