strtoi {base}R Documentation

Convert Strings to Integers


Convert strings to integers according to the given base using the C function strtol, or choose a suitable base following the C rules.


strtoi(x, base = 0L)



a character vector, or something coercible to this by as.character.


an integer which is between 2 and 36 inclusive, or zero (default).


Conversion is based on the C library function strtol.

For the default base = 0L, the base chosen from the string representation of that element of x, so different elements can have different bases (see the first example). The standard C rules for choosing the base are that octal constants (prefix 0 not followed by x or X) and hexadecimal constants (prefix 0x or 0X) are interpreted as base 8 and 16; all other strings are interpreted as base 10.

For a base greater than 10, letters a to z (or A to Z) are used to represent 10 to 35.


An integer vector of the same length as x. Values which cannot be interpreted as integers or would overflow are returned as NA_integer_.

See Also

For decimal strings as.integer is equally useful.


strtoi(c("0xff", "077", "123"))
strtoi(c("ffff", "FFFF"), 16L)
strtoi(c("177", "377"), 8L)

[Package base version 3.3.2 Index]