方法主要有:1.parseInt() ;2.Number() ;3.parseFloat() ;
下面来挨个介绍:
1.parseInt(string, radix)
- 解析一个字符串并返回指定基数的十进制整数或 NaN。
- 第一个参数要被解析的值。如果参数不是一个数字,则将其转换为数字;
- 第二个参数指定被解析值是几进制数
- 如果传入的第一个字符不能转换为数字,parseInt会返回 NaN。
这里科普一个兼容问题:
如果 radix 是 undefined 、0或未指定的,JavaScript 会假定以下情况:
- 如果输入的
string 以 "0x"或 “0x”(一个0,后面是小写或大写的X)开头,那么radix被假定为16,字符串的其余部分被当做十六进制数去解析。
- 如果输入的 string以 “0”(0)开头, radix被假定为8(八进制)或10(十进制)。具体选择哪一个radix取决于实现。
ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用 parseInt 时,一定要指定一个 radix。
- 如果输入的
string 以任何其他值开头, radix 是 10 (十进制)。
2.Number()
函数把对象的值转换为数字
Number() 函数把对象的值转换为数字。
- 通过
Number() 转换函数传入一个字符串,它会试图将其转换为一个整数或浮点数直接量,这个方法只能基于十进制进行转换,如果字符串中出现非数字的字符,将返回NaN。
3.parseFloat()
- 给定值被解析成浮点数或整数,若不能被转换成数值,则会返回 NaN。
parseFloat 是个全局函数,不属于任何对象。
所有直接使用即可:
function circumference(r) {
return parseFloat(r) * 2.0
}
console.log(circumference(3));
// 输出为: 6
最后有个比较厉害的操作:
数字字符串前直接写“+”直接转换
到此这篇关于JavaScript字符串转换数字的方法的文章就介绍到这了,更多相关JavaScript字符串转换数字内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论