一、字符串转换为数字: 在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"1、[] ==[] 因为数组是引用类型的,两个数组的引用不可能相等,所以值为false 2、'0.00' == 0 数字型字符串与纯数字之间的比较,js会将字符串转换成数字再作比较,转换后的结果是 0.00 == 0 ,所以值为false。 3、'0'<1 同上,字符串转换成数字 0 <1 ,所以值为false 4、'abc' == 0 这里的字符串'abc'不是数字型字符串,无法转换成数字,将这种类型的字符串与数字做比较时,会先转换成NaN,所以值为false 5、'11'<'2' 两个数字型字符串之间的比较,进行这种比较时会依次取每个字符转换成ASCII码进行比较,因为'1'的ASCII码小于'2',后面就不用再往下进行比较了。 6、1 == true'1' == true'2' == true1为true,0为false 这是众所周知的,所以1 == true的值为true。 在js中,字符串和布尔值进行比较的时候,会把布尔值转化成数字类型。所以'1' == true的比较会转换成'1' == 1,值也是为true的。'2' == true的比较会转换成'2' == 1,值必然为false。 但是,!!'2' == true 返回的是true,因为用两个非符号 !! 可以把非空字符串转换成true。 7、== 与 ===的区别 在js中,==表示相等(值相等),===表示恒等(值和类型都要相等)。在用==比较时如果被比较的两者类型不同,会先做类型转换再判断值得大小,如果是===类型和值必须都相等。1 数字与字符串相加减
2 数字前面补0
3 字符串尾部补全
4 数字转字母
5 格式化金钱
6 字符串去除空格
6.1 去除两端空格. trim()
6.2 消除字符串头部的空格. trimStart():
6.3 消除尾部的空格. trimEnd()
7 Number.parseInt()用来获取一个浮点数的整数部分
8 Number.parseFloat 用来截取数值部分
9 Math.trunc() 用于去除一个数的小数部分,返回整数部分。
10 Math.sign() 用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值
11 Math.cbrt()用于计算一个数的立方根。
12 Math.hypot返回所有参数的平方和的平方根。