本文详细介绍 JavaScript 中的数据类型转换机制。涵盖数值转字符串的多种方法,包括 toString() 指定进制转换及隐式转换;深入解析 parseInt() 和 parseFloat() 处理字符串转数值的规则,如截断非数字字符与进制解析;并通过代码示例演示十六进制、八进制等具体转换结果,帮助开发者掌握基础类型转换技巧。
JavaScript 数值与字符串转换基础
所有编程语言都具备类型转换的能力,JavaScript 也不例外。它提供了丰富的类型转换方法,借助全局函数可以实现更复杂的数据类型处理。
代码如下:
var a = 3;
var b = a + 3;
var c = "student" + a;
var d = a.toString();
var e = a + "";
document.write(typeof(a) + " " + typeof (b) + " " +typeof (c) + " " + typeof (d) + " " + typeof (e));
//输出 number number string string string
最简单的类型转化例子
代码如下:
var a=b=c=d=e=4;
var f = a+b+c+d+ c.toString();
document.write(f);<br>// 输出 结果 164
使用 toString 进行进制转换
将数据类型转为字符串时,可以使用 toString() 方法。JavaScript 在转化为字符串的同时也实现了机制转换。
代码如下:
var a =111;
document.writeln(a.toString(2)+"<br>");
document.writeln(a.toString(3)+"<br>");
document.writeln(a.toString(8)+"<br>");
document.writeln(a.toString(10)+"<br>");
document.writeln(a.toString(16)+"<br>");
//执行结果
//
1101111
11010
157
111
6f
使用 parseInt 解析字符串与进制转换
字符串转数值型,JavaScript 使用 parseInt() 和 parseFloat() 进行转化。正如方法名称所示,前者将字符转化为整数,后者将字符转化为浮点数。只有字符串才能调用这两种方法,否则转化为 NaN,且不再进行任何操作。
parseInt() 会先检查下标 0 处的字符,如果该字符是有效字符,则继续检查下标 1 处的字符;如果遇到非有效字符,则终止转化。以下示例展示了 parseInt() 的具体用法。
代码如下:
document.writeln(parseInt("4555.5544")+"<br>");
document.writeln(parseInt("0.5544")+"<br>");
document.writeln(parseInt("1221abes5544")+"<br>");
document.writeln(parseInt("0xc")+"<br>");//直接进行进制转化
document.writeln(parseInt("ahthw@hotmail.com")+"<br>");
//执行结果
4555
0
1221
12
NaN
利用 parseInt,同样可以轻松地实现进制转化。(parseFloat() 和 parseInt 类似,这里不再举例。)
代码如下:
document.writeln(parseInt("0421",8)+"<br>");
document.writeln(parseInt("0421")+"<br>");
document.writeln(parseInt("0421",16)+"<br>");
document.writeln(parseInt("AF",16)+"<br>");
document.writeln(parseInt("011",10)+"<br>");
//输出结果
273
421
1057
175
11