如何在 JavaScript 中将字符串转换为数字: 1. 使用 parseInt() 函数转换为整数,或者使用 parseFloat() 函数转换为浮点数; 2.使用强制类型转换,句型“Number(value)”,可以将给定的值转换为数字(整数或浮点数)。
本教程的运行环境:windows7系统,javascript1.8.5版本字符串转数字 javascript,DellG3笔记本。
javascript中字符串转数字的方式主要有3种
1、转换功能:
Node.js 提供了两个转换函数,parseInt() 和 parseFloat()。 后者将值转换为整数,前者将值转换为浮点数。 对于String类型调用此方法字符串转数字 javascript,这两个函数才能正确运行; 对于其他类型,返回 NaN (NotaNumber)。
一些示例如下:
parseInt("1234blue"); //returns 1234 parseInt("0xA"); //returns 10 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN
parseInt()方法还有一个基本模式,可以将二进制补码、八进制补码、十六进制补码或任何其他补码的字符串转换为整数。 基数由parseInt()方法的第二个参数指定,示例如下:
parseInt("AF", 16); //returns 175 parseInt("10", 2); //returns 2 parseInt("10", 8); //returns 8 parseInt("10", 10); //returns 10
如果十的补码包含前导零,最好使用基数 10,这样您就不会意外得到八的补码值。 例如:
parseInt("010"); //returns 8 parseInt("010", 8); //returns 8 parseInt("010", 10); //returns 10
parseFloat() 方法与 parseInt() 方法类似。
使用 parseFloat() 的另一个区别是字符串必须表示十补码的浮点数,并且 parseFloat() 没有基模式。
以下是使用 parseFloat() 的示例:
parseFloat("1234blue"); //returns 1234.0 parseFloat("0xA"); //returns NaN parseFloat("22.5"); //returns 22.5 parseFloat("22.34.5"); //returns 22.34 parseFloat("0908"); //returns 908 parseFloat("blue"); //returns NaN
【推荐学习:js基础教程】
2.强制类型转换
转换后的值的类型也可以使用类型转换来处理。 使用强制转换来访问特定值,即使它是另一种类型。
ECMAScript 中可用的 3 种类型转换如下:
使用这三个函数之一转换值会创建一个新值,该新值存储直接从原始值转换而来的值。 这可能会导致意想不到的后果。
当要转换的值是至少包含一个字符的字符串、非零数字或对象(在下一节中讨论)时,Boolean() 函数返回 true。 如果值为空字符串、数字 0、未定义或 null,则返回 false。
您可以使用以下代码片段来测试布尔类型强制。
Boolean(""); //false – empty string Boolean("hi"); //true – non-empty string Boolean(100); //true – non-zero number Boolean(null); //false - null Boolean(0); //false - zero Boolean(new Object()); //true – object
Number()的强制类型转换与parseInt()和parseFloat()的处理方法类似,只不过它转换的是整个值而不是部分值。 示例如下:
Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number( "5.5 ") 5.5 Number( "56 ") 56 Number( "5.6.7 ") NaN Number(new Object()) NaN Number(100) 100
最后一种强制类型转换方法String()是最简单的,示例如下:
var s1 = String(null); //"null" var oNull = null; var s2 = oNull.toString(); //won't work, causes an error
3.借助js变量弱类型转换
举个小反例,看完你就明白了。
代码如下所示:
var str= '012.345 '; var x = str-0; x = x*1;
上面的例子利用了js的弱类型特性,只进行算术运算,实现了字符串到数字的类型转换。 但是,不建议使用此方法。