strtoi {base} | R Documentation

## Convert Strings to Integers

### Description

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

### Usage

    strtoi(x, base = 0L)

### Arguments

`x` | a character vector, or something coercible to this by `as.character`.
`base` | an integer which is between 2 and 36 inclusive, or zero (default).

### Details

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`.

### Value

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.

### Examples

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

[Package base version 3.4.3 Index]