\membersection{wxString::ToLong}\label{wxstringtolong}
-\constfunc{bool}{ToLong}{\param{long}{ *val}}
+\constfunc{bool}{ToLong}{\param{long}{ *val}, \param{int }{base = 0}}
-Attempts to convert the string to a signed integer. Returns TRUE on success
-(the number is stored in the location pointed to by {\it val}) or FALSE if the
-string does not represent such number.
+Attempts to convert the string to a signed integer in base {\it base}. Returns
+{\tt TRUE} on success in which case the number is stored in the location
+pointed to by {\it val} or {\tt FALSE} if the string does not represent a
+valid number in the given base.
+
+The default value of {\it base} $0$ is special and means that the usual rules
+of {\tt C} numbers are applied: if the number starts with {\tt 0x} it is
+considered to be in base $16$, if it starts with {\tt 0} - in base $8$ and in
+base $10$ otherwise.
\wxheading{See also}
\membersection{wxString::ToULong}\label{wxstringtoulong}
-\constfunc{bool}{ToULong}{\param{unsigned long}{ *val}}
+\constfunc{bool}{ToULong}{\param{unsigned long}{ *val}, \param{int }{base = 0}}
+
+Attempts to convert the string to a ansigned integer in base {\it base}.
+Returns {\tt TRUE} on success in which case the number is stored in the
+location pointed to by {\it val} or {\tt FALSE} if the string does not
+represent a valid number in the given base.
-Attempts to convert the string to an unsigned integer. Returns TRUE on success
-(the number is stored in the location pointed to by {\it val}) or FALSE if the
-string does not represent such number.
+The default value of {\it base} $0$ is special and means that the usual rules
+of {\tt C} numbers are applied: if the number starts with {\tt 0x} it is
+considered to be in base $16$, if it starts with {\tt 0} - in base $8$ and in
+base $10$ otherwise.
\wxheading{See also}
// conversion to numbers: all functions return TRUE only if the whole string
// is a number and put the value of this number into the pointer provided
// convert to a signed integer
- bool ToLong(long *val) const;
+ bool ToLong(long *val, int base = 0) const;
// convert to an unsigned integer
- bool ToULong(unsigned long *val) const;
+ bool ToULong(unsigned long *val, int base = 0) const;
// convert to a double
bool ToDouble(double *val) const;
// conversion to numbers
// ----------------------------------------------------------------------------
-bool wxString::ToLong(long *val) const
+bool wxString::ToLong(long *val, int base) const
{
wxCHECK_MSG( val, FALSE, _T("NULL pointer in wxString::ToLong") );
const wxChar *start = c_str();
wxChar *end;
- *val = wxStrtol(start, &end, 10);
+ *val = wxStrtol(start, &end, base);
// return TRUE only if scan was stopped by the terminating NUL and if the
// string was not empty to start with
return !*end && (end != start);
}
-bool wxString::ToULong(unsigned long *val) const
+bool wxString::ToULong(unsigned long *val, int base) const
{
wxCHECK_MSG( val, FALSE, _T("NULL pointer in wxString::ToULong") );
const wxChar *start = c_str();
wxChar *end;
- *val = wxStrtoul(start, &end, 10);
+ *val = wxStrtoul(start, &end, base);
// return TRUE only if scan was stopped by the terminating NUL and if the
// string was not empty to start with