Function: string-to-number
string-to-number is a function defined in data.c.
Signature
(string-to-number STRING &optional BASE)
Documentation
Parse STRING as a decimal number and return the number.
Ignore leading spaces and tabs, and all trailing chars. Return 0 if STRING cannot be parsed as an integer or floating point number.
If BASE, interpret STRING as a number in that base. If BASE isn't present, base 10 is used. BASE must be between 2 and 16 (inclusive). If the base used is not 10, STRING is always parsed as an integer.
Other relevant functions are documented in the string group.
Probably introduced at or before Emacs version 20.1.
Shortdoc
;; string
(string-to-number "42")
=> 42
(string-to-number "deadbeef" 16)
=> 3735928559
(string-to-number "2.5e+03")
=> 2500.0
Aliases
erc-string-to-emacs-time (obsolete since 27.1)
epg--time-from-seconds
Source Code
// Defined in /usr/src/emacs/src/data.c
{
int b;
CHECK_STRING (string);
if (NILP (base))
b = 10;
else
{
CHECK_FIXNUM (base);
if (! (XFIXNUM (base) >= 2 && XFIXNUM (base) <= 16))
xsignal1 (Qargs_out_of_range, base);
b = XFIXNUM (base);
}
char *p = SSDATA (string);
while (*p == ' ' || *p == '\t')
p++;
Lisp_Object val = string_to_number (p, b, 0);
return ((IEEE_FLOATING_POINT ? NILP (val) : !NUMBERP (val))
? make_fixnum (0) : val);
}