home | help
Tcl_GetInt(3)		     Tcl Library Procedures		   Tcl_GetInt(3)

________________________________________________________________________________

NAME
     Tcl_GetInt, Tcl_GetDouble, Tcl_GetBoolean - convert from string to integer,
     double, or boolean

SYNOPSIS
     #include <tcl.h>

     int
     Tcl_GetInt(interp, src, intPtr)

     int
     Tcl_GetDouble(interp, src, doublePtr)

     int
     Tcl_GetBoolean(interp, src, intPtr)

     int
     Tcl_GetBool(interp, src, flags, charPtr)

ARGUMENTS
     Tcl_Interp *interp (in)		 Interpreter to use for error reporting.

     const char *src (in)		 Textual value to be converted.

     int *intPtr (out)			 Points  to place to store integer value
					 converted from src.

     double *doublePtr (out)		 Points to place to store  double-preci-
					 sion	floating-point	value  converted
					 from src.

     char *charPtr (out)		 Points to place to store boolean  value
					 (0 or 1) value converted from src.

     int flags (in)			 0  or	TCL_NULL_OK.  If  TCL_NULL_OK is
					 used, then the  empty	string	or  NULL
					 will	result	 in  Tcl_GetBool  return
					 TCL_OK, the *charPtr  filled  with  the
					 value '\xFF';
________________________________________________________________________________

DESCRIPTION
     These  procedures	convert  from  strings	to  integers or double-precision
     floating-point values or booleans (represented as 0- or 1-valued integers).
     Each of the procedures takes a src argument, converts  it	to  an	internal
     form  of  a particular type, and stores the converted value at the location
     indicated by the procedure's third argument.  If all goes well, each of the
     procedures returns TCL_OK.  If src does not have the proper syntax for  the
     desired  type  then  TCL_ERROR is returned, an error message is left in the
     interpreter's result, and nothing is stored at *intPtr or *doublePtr.

     Tcl_GetInt expects src to consist of a collection of  integer  digits,  op-
     tionally  signed  and  optionally preceded and followed by white space.  If
     the first two characters of src after the optional white space and sign are
     "0x" then src is expected to be in hexadecimal  form;   otherwise,  if  the
     first  such characters are "0d" then src is expected to be in decimal form;
     otherwise, if the first such characters are "0o" then src is expected to be
     in octal form;  otherwise, if the first such characters are "0b"  then  src
     is expected to be in binary form;	otherwise, src is expected to be in dec-
     imal form.

     Tcl_GetDouble  expects src to consist of a floating-point number, which is:
     white space;  a sign; a sequence of digits;  a decimal  point  ".";  a  se-
     quence  of  digits;   the	letter "e"; a signed decimal exponent;	and more
     white space.  Any of the fields may be omitted, except that the digits  ei-
     ther  before  or  after the decimal point must be present and if the "e" is
     present then it must be followed by the exponent number. If  there  are  no
     fields apart from the sign and initial sequence of digits (i.e., no decimal
     point  or	exponent indicator), that initial sequence of digits should take
     one of the forms that Tcl_GetInt supports, described above. The use of  ","
     as  a  decimal  point  is not supported nor should any other sort of inter-
     digit separator be present.

     Tcl_GetBoolean expects src to specify a boolean value.  If src is any of 0,
     false, no, or off, then Tcl_GetBoolean stores a zero value at *intPtr.   If
     src  is  any  of  1, true, yes, or on, then 1 is stored at *intPtr.  Any of
     these values may be abbreviated, and upper-case spellings are also  accept-
     able.

     Tcl_GetBool  functions almost the same as Tcl_GetBoolean, but it has an ad-
     ditional parameter flags, which can be used to specify  whether  the  empty
     string or NULL is accepted as valid.

KEYWORDS
     boolean, conversion, double, floating-point, integer

Tcl								   Tcl_GetInt(3)

home | help