JavaScript字符串转换数字的方法,极为常用“建议收藏”

举报
前端老实人 发表于 2021/09/27 12:58:10 2021/09/27
【摘要】 方法主要有:1.parseInt();2.Number();3.parseFloat();下面来挨个介绍1.parseInt(string, radix)解析一个字符串并返回指定基数的十进制整数或 NaN。第一个参数要被解析的值。如果参数不是一个数字,则将其转换为数字;第二个参数指定被解析值是几进制数如果传入的第一个字符不能转换为数字,parseInt会返回 NaN。这里科普一个兼容问题:如...

方法主要有:1.parseInt();2.Number();3.parseFloat();

下面来挨个介绍

1.parseInt(string, radix)

  • 解析一个字符串并返回指定基数的十进制整数或 NaN。
  • 第一个参数要被解析的值。如果参数不是一个数字,则将其转换为数字;
  • 第二个参数指定被解析值是几进制数
  • 如果传入的第一个字符不能转换为数字,parseInt会返回 NaN。

这里科普一个兼容问题:

如果 radix 是 undefined、0或未指定的,JavaScript会假定以下情况:

  1. 如果输入的 string以 "0x"或 "0x"(一个0,后面是小写或大写的X)开头,那么radix被假定为16,字符串的其余部分被当做十六进制数去解析。
  2. 如果输入的 string以 "0"(0)开头, radix被假定为8(八进制)或10(十进制)。具体选择哪一个radix取决于实现。ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用 parseInt 时,一定要指定一个 radix。
  3. 如果输入的 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
复制代码

最后有个骚操作:

数字字符串前直接写“+”直接转换

最后

如果对您有帮助,希望能给个👍评论收藏三连!

想跟博主交朋友的可以关注下🌹,有问题评论留言。

博主为人老实,无偿解答问题哦❤

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。