# Global

# 实例方法

# parseInt(string, radix?)

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

参数

名称 类型 必填 描述
string string 要被解析的值。字符串开头的空白符将会被忽略。(注意:只接收字符串类型的参数,其他类型将编译报错。)
radix number 从 2 到 36 的整数,表示进制的基数。例如指定 16 表示被解析值是十六进制数。如果超出这个范围,将返回 NaN。假如指定 0 或未指定,基数将会根据字符串的值进行推算。注意,推算的结果不会永远是默认值 10!

返回值

类型 描述
number 从给定的字符串中解析出的一个整数,或者 NaN。当radix 小于 2 或大于 36,或第一个非空格字符不能转换为数字时返回 NAN。

注意:返回值类型一定是number,不是平台专有数字类型(如Int、Float、Double等)。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+ 3.9+

参见

相关 Bug

注意

  • 该方法仅支持对 string 类型的解析,传入其他类型会编译报错。字符串开头的空白符将会被忽略。
  • radix 参数可不传,默认值为 10。但是不可传入 null, 传入 null 会编译报错。
  • radix 小于 2 或大于 36,或第一个非空格字符不能转换为数字将返回 NAN。第一个非空格字符不能转换为数字是指在指定的 radix 下,第一个非空字符不能转成数字,示例如下:
const a = parseInt("a"); // 结果为 NAN
const b = parseInt("a", 16) // 结果为 10 (原因:16进制下 a 是合法字符)
const c = parseInt("546", 2) // 结果为 NAN (原因:除了“0、1”外,其他数字都不是有效二进制数字)

  • 有关 radix 缺省( radix 为 0 或者未指定)时的自动推导:
    • 如果输入的 string 以 0x 或 0X(一个 0,后面是小写或大写的 X)开头,那么 radix 被假定为 16,字符串的其余部分被当做十六进制数去解析。
    • 如果输入的 string 以任何其他值开头,radix 是 10 (十进制)。
  • 如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。
  • 某些数字在其字符串表示形式中使用 e 字符(例如 6.022×23 表示 6.022e23 ),因此当对非常大或非常小的数字使用数字时,使用 parseInt 截断数字将产生意外结果。如:parseInt("6.022e23") == 6。

特别注意: 当要解析的字符串表示的数字很大(超过最大的整数 9223372036854775807 )时,将以科学计数法进行表示,此时会丢失精度( iOS 和 Android 结果一致,和 JS 结果相比有误差)。(此特性将在 HBuilderX 3.93+ 生效,HBuilderX 3.92 及以下版本可表示的数字的最大值为最大的 Int 值,iOS 平台为 9223372036854775807,Android 平台 为 2147483647,超过此值 iOS 下出现整型溢出,Android 下会返回 NAN )。

# parseFloat(string)

parseFloat() 函数解析一个参数(直接收字符串类型的参数,其他类型编译报错)并返回一个浮点数。

参数

名称 类型 必填 描述
string string 需要被解析成为浮点数的值。

返回值

类型 描述
number 给定值被解析成浮点数。如果给定值不能被转换成数值,则会返回 NaN。

注意:返回值类型一定是number,不是平台专有数字类型(如Int、Float、Double等)。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+ 3.9+

参见

相关 Bug

  • 注意: 该方法仅支持对 string 类型的解析,传入其他类型会编译报错。

# isNaN(number)

isNaN() 函数用来确定一个值是否为NaN 。注:isNaN函数内包含一些非常有趣的规则;你也可以使用 ECMAScript 2015 中定义的 Number.isNaN() 来判断。

参数

名称 类型 必填 描述
number number 要被检测的值。

返回值

类型 描述
boolean 如果给定值为 NaN则返回值为true;否则为false。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+ 3.9+

参见

相关 Bug

# isFinite(number)

isFinite() 函数用来判断被传入的参数值是否为一个有限数值(finite number)。

参数

名称 类型 必填 描述
number number 要被检测的值。

返回值

类型 描述
boolean 如果参数是 NaN,正无穷大或者负无穷大,会返回false,其他返回 true。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.9 4.11 4.0 3.9+ 3.9+

参见

相关 Bug

# decodeURI(encodedURI)

decodeURI() 函数能解码由encodeURI 创建或其他流程得到的统一资源标识符(URI)。

参数

名称 类型 必填 描述
encodedURI string 一个完整的编码过的 URI

返回值

类型 描述
string 返回一个给定编码统一资源标识符 (URI) 的未编码版本的新字符串, 当 encodedURI 包含无效字符序列时,会返回null

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.91 4.11 4.0 3.91 3.91

参见

相关 Bug

# decodeURIComponent(encodedURIComponent)

decodeURIComponent() 方法用于解码由 encodeURIComponent 方法或者其他类似方法编码的部分统一资源标识符(URI)。

参数

名称 类型 必填 描述
encodedURIComponent string 编码后的部分 URI

返回值

类型 描述
string 一个解码后的统一资源标识符(URI)字符串,处理前的 URI 经过了给定格式的编码。当 encodedURI 包含无效字符序列时,会返回null.

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.91 4.11 4.0 3.91 3.91

参见

相关 Bug

# encodeURI(uri)

encodeURI() 函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列) 由两个 "代理" 字符组成)。

参数

名称 类型 必填 描述
uri string 一个完整的 URI。

返回值

类型 描述
string 一个新字符串,表示提供的字符串编码为统一资源标识符 (URI)。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.91 4.11 4.0 3.91 3.91

参见

相关 Bug

# encodeURIComponent(uriComponent)

encodeURIComponent() 函数通过将特定字符的每个实例替换成代表字符的 UTF-8 编码的一个、两个、三个或四个转义序列来编码 URI(只有由两个“代理”字符组成的字符会被编码为四个转义序列)。与 encodeURI() 相比,此函数会编码更多的字符,包括 URI 语法的一部分。

参数

名称 类型 必填 描述
uriComponent string 要被检测的 string 值。

返回值

类型 描述
string 原字串作为 URI 组成部分被被编码后的新字符串。

兼容性

Android uni-app x iOS uni-app x web uni-app x Android uni-app iOS uni-app web uni-app
3.91 4.11 4.0 3.91 3.91

参见

相关 Bug