## table of contents

Tcl_PrintDouble(3tcl) | Tcl Library Procedures | Tcl_PrintDouble(3tcl) |

# NAME¶

Tcl_PrintDouble - Convert floating value to string

# SYNOPSIS¶

#include <tcl.h>Tcl_PrintDouble(interp, value, dst)

# ARGUMENTS¶

- Tcl_Interp
**interp*(in) - Before Tcl 8.0, the
**tcl_precision**variable in this interpreter controlled the conversion. As of Tcl 8.0, this argument is ignored and the conversion is controlled by the**tcl_precision**variable that is now shared by all interpreters. - double
*value*(in) - Floating-point value to be converted.
- char
**dst*(out) - Where to store the string representing
*value*. Must have at least**TCL_DOUBLE_SPACE**characters of storage.

# DESCRIPTION¶

**Tcl_PrintDouble** generates a string that represents the
value of *value* and stores it in memory at the location given by
*dst*. It uses **%g** format to generate the string, with one
special twist: the string is guaranteed to contain either a
“.” or an “e” so that it does not look like an
integer. Where **%g** would generate an integer with no decimal point,
**Tcl_PrintDouble** adds “.0”.

If the **tcl_precision** value is non-zero, the result will
have precisely that many digits of significance. If the value is zero (the
default), the result will have the fewest digits needed to represent the
number in such a way that **Tcl_NewDoubleObj** will generate the same
number when presented with the given string. IEEE semantics of rounding to
even apply to the conversion.

# KEYWORDS¶

conversion, double-precision, floating-point, string

8.0 | Tcl |