NumericConstants {base} R Documentation

Numeric Constants

Description

How R parses numeric constants.

Details

R parses numeric constants in its input in a very similar way to C floating-point constants.

Inf and NaN are numeric constants (with typeof(.) "double"). All other numeric constants start with a digit or period.

Hexadecimal constants start with 0x or 0X followed by a non-empty sequence from 0-9 a-f A-F which is interpreted as a hexadecimal number ("double", not "integer").

Decimal constants consists of a nonempty sequence of digits possibly containing a period (the decimal point), optionally followed by a decimal exponent. A decimal exponent consists of an E or e followed by an optional plus or minus sign followed by a non-empty sequence of digits, and indicates multiplication by a power of ten.

A numeric constant immediately followed by i is regarded as an imaginary complex number.

An numeric constant immediately followed by L is regarded as an integer number when possible (and with a warning if it contains a ".").

Only the ASCII digits 0–9 are recognized as digits, even in languages which have other representations of digits. The ‘decimal separator’ is always a period and never a comma.

Note that a leading plus or minus is not part of numeric constant but a unary operator applied to the constant.

Quotes for the parsing of character constants,

Examples

2.1
typeof(2)
sqrt(1i) # remember elementary math?
str(0xA0)
identical(1L, as.integer(1))

## You can combine the "0x" prefix with the "L" suffix :
identical(0xFL, as.integer(15)) # (with a regard to Fritz :-)

[Package base version 2.5.0 Index]