parseInteger

语法

parseInteger(X, type, [radix=10])

别名:parseInt

参数

X 表示待转换的字符串、或字符串的集合(矩阵/向量/数据对)。

type 表示转换后的类型,支持 CHAR/SHORT/INT/LONG。

radix 表示基数,可选参数,有效范围为[2, 16],默认为 10。如 radix 为2,那么“合法字符”就指{“0”, “1”};radix 为11,那么”合法字符”就指[0, 9]和 A/a(不区分大小写)。特别的,如果 radix 为16,那么前导的”0x”或”0X”不会被认为非法字符。

详情

按照不同进制把字符串转换为指定的整数类型。该函数从 X 的第一个字符开始转换,直到遇到第一个非法字符,即返回此前的转换结果。当 X 为集合时,将输出相同类型的集合。

注意:

  • 转换时会忽略前导空格和前导 0。

  • 不支持转换小数,'.'字符属于非法字符。

  • 如果(忽略前导空格后)字符串为空,则返回 NULL。

  • 如果在遇到非法字符前没有遇到过合法字符,函数将抛出异常。

  • 前导空格后的第一个字符可以为'+'/'-'以表示正/负语义,其余位置上的'+'/'-'为非法字符。

例子

以下给出几个简单示例。

parseInteger([" ", "000", "012", " 12","12a", "1a2","+12a", "-12"], INT)
//output: [ , 0, 12, 12, 12, 1, 12, -12]

parseInteger("a12", INT)
//Error: 'Invalid string to parse.'

parseInteger(["012", " 12","12a", "1a2","1A2", "-1A2"], INT, 11)
//output: [13, 13, 153, 233, 233, -233]

parseInteger(["0x16", "0X16"], INT)//output:[0, 0]

parseInteger(["0x16", "0X16"], INT, 16)//output:[22, 22]

parseInteger( "9" , INT, 8)
//Error: 'Invalid string to parse.'