strtoi {base} | R Documentation |
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)
x |
a character vector, or something coercible to this by
|
base |
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_
.
For decimal strings as.integer
is equally useful.
strtoi(c("0xff", "077", "123"))
strtoi(c("ffff", "FFFF"), 16L)
strtoi(c("177", "377"), 8L)