一、字符串转换为数字: 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.所以在比较前需要将它们各自的值转换为Number类型。主要的方法有三种:转换函数、强制类型转换、利用js变量弱类型转换 。 1.转换函数 parseInt() 和 parseFloat()parseInt(str): 将字符串类型转换为 整型 ,当函数的参数不是字符串时,函数返回NaN(Not a Number) parseFloat(str): 将字符串类型转换为 浮点型 ,当函数的参数不是字符串时,函数返回NaN(Not a Number) 注1:凡是一切表示数的形式的字符串都可以通过上面的两个函数转化为数字,例如: 普通的数字 : parseInt('123') // 123 浮点数 : parseInt('123.45') // 123 十六进制数:parseInt('0x11') // 17 科学计数法: parseInt('3e12') // 3 parseInt('13e12') // 13 注2:parseInt()函数支持十六进制形式的字符串转换为整型,但是 parseFloat()函数不支持十六进制形式的字符串转换为浮点型,但是会返回数字0.原因是parseFloat()函数将参数为十六进制的字符串 "0x11"的第一个字符零(0)看做数字,将其他的忽略。 2.强制类型转换 可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。ECMAScript中可用的3种强制类型转换如下:Boolean(value)——把给定的值转换成Boolean型; Number(value)——把给定的值转换成数字(可以是整数或浮点数); String(value)——把给定的值转换成字符串。用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。 当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。3. 利用js变量弱类型转换二、数字转换为字符串 强制类型转换、利用js变量弱类型转换 1.强制类型转换: String(value)——把给定的值转换成字符串。2.利用js变量弱类型转换:数字+字符串 // 123+"456"------>"123456"toString()方法返回的是相应值的字符串表现
数值、布尔值、对象和字符串值都有toString()方法,但是null和undefined值没有这个方法
例子:
多数情况下,使用toString()方法不需要传递参数。
数值调用toString()方法的时候可以传递一个参数,来表示输出数值的基数,可以以2、8、16进制表示字符串值
例子:
在不知道变量是否为null或者undefined是可以使用String()函数来转换为字符串类型
String()函数可以将任何类型的数值转换为字符串
使用规则:
如果转换值有toString()方法的话,就直接调用该方法,并返回相应的结果
如果转换值是null,则返回"null"
如果转换值是undefined,则返回"undefined"
例子:
把转换的值与一个字符串 “” 加在一起
1、转换为字符串
''
+
10
===
'10'
//
true将一个值加上空字符串可以轻松转换为字符串类型。
2、字符串转换为数字
+'010'
===
10
Number('010')
===
10
parseInt('010',
10)
===
10
//
用来转换为整数
+'010.2'
===
10.2
Number('010.2')
===
10.2
parseInt('010.2',
10)
===
10
3、转换为布尔值
!!'foo'
//
true
!!''
//
false
!!'0'
//
true
!!'1'
//
true
!!'-1'
//
true
!!{}
//
true
!!true
//
true
通过使用 否 操作符两次,可以把一个值转换为布尔型。
以上这篇js
数字、字符串、布尔值的转换方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。