# Tcl_PrintDouble(3tcl)

**Tcl_PrintDouble(3)** Tcl Library Procedures **Tcl_PrintDouble(3)**
_________________________________________________________________

## 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 inter-
preters.
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.
Tcl Last change: 8.0 1
**Tcl_PrintDouble(3)** Tcl Library Procedures **Tcl_PrintDouble(3)**

## KEYWORDS

conversion, double-precision, floating-point, string
Tcl Last change: 8.0 2

Man(1) output converted with
man2html