JavaScript 中的 parseInt() 函数详解

 更新时间:2023年05月10日 09:59:05   作者:honeymoose  
parseInt函数将其第一个参数转换为一个字符串,对该字符串进行解析,然后返回一个整数或 NaN,这篇文章主要介绍了JavaScript 的 parseInt() 函数,需要的朋友可以参考下

parseInt() 函数可解析一个字符串,并返回一个整数。

parseInt 可以接受 2 个函数。

parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数, radix 是2-36之间的整数,表示被解析字符串的基数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

参数

string

要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 ToString 抽象操作)。字符串开头的空白符将会被忽略。

radix 可选

从 2 到 36,表示字符串的基数。例如指定 16 表示被解析值是十六进制数。请注意,10不是默认值!

描述

parseInt函数将其第一个参数转换为一个字符串,对该字符串进行解析,然后返回一个整数或 NaN

如果不是NaN,返回值将是以第一个参数作为指定基数 radix 的转换后的十进制整数。(例如,radix10,就是可以转换十进制数,为8可以转换八进制数"07",16可以转换十六进制数"0xff",以此类推)。

对于 radix 10以上的,英文字母表示大于9的数字。例如,对于十六进制数(基数16),则使用 A 到 F 。

如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。 parseInt 将数字截断为整数值。 允许前导和尾随空格。

由于某些数字在其字符串表示形式中使用e字符(例如 6.022×23 表示 6.022e23 ),因此当对非常大或非常小的数字使用数字时,使用 parseInt 截断数字将产生意外结果。 parseInt不应替代Math.floor()

parseInt 可以理解两个符号。+ 表示正数,- 表示负数(从ECMAScript 1开始)。它是在去掉空格后作为解析的初始步骤进行的。如果没有找到符号,算法将进入下一步;否则,它将删除符号,并对字符串的其余部分进行数字解析。

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

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

如果第一个字符不能转换为数字,parseInt会返回 NaN

为了算术的目的,NaN 值不能作为任何 radix 的数字。你可以调用isNaN函数来确定parseInt的结果是否为 NaN。如果将NaN传递给算术运算,则运算结果也将是 NaN

要将一个数字转换为特定的 radix 中的字符串字段,请使用 thatNumber.toString(radix)函数。

总结

通常我们都会使用 parseInt 来转换成一个 10 进制的数。

一个使用场景是你在参数中传入了一个字符串来表示当前时间的 Unix 时间,你需要将这个时间首先转换成整数后再用来构造 moment 对象。

在 IntelliJ IDEA 中,使用了不同的颜色来区分结果的类型。

同时如果是字符的话,IntelliJ IDEA 会使用引号。

如果上面图中的对比。

当然,你也可以直接写成

moment.utc(+duplicateData.timeStamp)

在方法前面添加一个 + 号也会帮你完成转换的。

有个同学做了下面的一个表,觉得挺好的,能够帮助你在转换的时候参考下。

parseInt 转换和可能出现 NaN 的情况。

到此这篇关于JavaScript 的 parseInt() 函数的文章就介绍到这了,更多相关js parseInt() 函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JS实现的排列组合算法示例

    JS实现的排列组合算法示例

    这篇文章主要介绍了JS实现的排列组合算法,结合完整实例形式详细分析了排列组合算法的原理与javascript相关实现技巧,需要的朋友可以参考下
    2019-07-07
  • 获取当前点击按钮的id用this.id实现

    获取当前点击按钮的id用this.id实现

    这篇文章主要介绍了获取当前点击按钮的id的方法,,需要的朋友可以参考下
    2014-03-03
  • java与javascript之间json格式数据互转介绍

    java与javascript之间json格式数据互转介绍

    对象转为字符串:通过JSON.encode方法,这个是json.js里面的方法,引入到当前文件就可以了,下面整理的比较详细一点,感兴趣的朋友不要错过
    2013-10-10
  • 基于pako.js实现gzip的压缩和解压功能示例

    基于pako.js实现gzip的压缩和解压功能示例

    这篇文章主要介绍了基于pako.js实现gzip的压缩和解压功能,结合具体实例形式分析了pako.js实现字符串压缩与解压缩的相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • JS实现div内部的文字或图片自动循环滚动代码

    JS实现div内部的文字或图片自动循环滚动代码

    在某些情况下需要这样的功能:使用JS实现div内部的文字或图片自动循环滚动,接下来为大家详细介绍下实现方法,感兴趣的朋友可以参考下哈
    2013-04-04
  • 原生Javascript实现五角星评分

    原生Javascript实现五角星评分

    这篇文章主要为大家详细介绍了原生Javascript实现五角星评分,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 七个基于JavaScript实现的情人节表白特效

    七个基于JavaScript实现的情人节表白特效

    情人节将至 程序员证明自己不是直男的时候到啦 我们也有自己的专属代码浪漫。本文将介绍七个利用JavaScript实现的情人节表白特效,需要的可以参考一下
    2022-01-01
  • JS+CSS实现实用的单击输入框弹出选择框的方法

    JS+CSS实现实用的单击输入框弹出选择框的方法

    这篇文章主要介绍了JS+CSS实现实用的单击输入框弹出选择框的方法,实例分析了javascript操作select及button的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 解决JS使用fill()进行数组填充遇到的问题

    解决JS使用fill()进行数组填充遇到的问题

    最近在做算法题时,遇到需要创建二维数组并进行初始化的情况,刚开始我使用的是 new Array(n).fill(new Array(n).fill('.')) 进行二维数组的初始化,但无论怎样我都通不过测试用例,所以本文就给大家详细的介绍了如何解决这类问题以及将js中的fill(方法重学一下
    2023-09-09
  • js通过八个点 拖动改变div大小的实现方法

    js通过八个点 拖动改变div大小的实现方法

    本篇文章主要是对js通过八个点 拖动改变div大小的实现方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03

最新评论