---
name: "DoubleObj"
section: "3"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/DoubleObj"
---

# DoubleObj(3)

manipulate Tcl objects as floating-point values

## NAME

Tcl\_NewDoubleObj, Tcl\_SetDoubleObj, Tcl\_GetDoubleFromObj - manipulate Tcl objects as floating-point values

## SYNOPSIS

```
#include <tcl.h>

Tcl_Obj *
Tcl_NewDoubleObj(doubleValue)

Tcl_SetDoubleObj(objPtr, doubleValue)

int
Tcl_GetDoubleFromObj(interp, objPtr, doublePtr)
```

## ARGUMENTS

A double-precision floating-point value used to initialize or set a Tcl object. For **Tcl\_SetDoubleObj**, this points to the object in which to store a double value. For **Tcl\_GetDoubleFromObj**, this refers to the object from which to retrieve a double value.  When non-NULL, an error message is left here when double value retrieval fails. Points to place to store the double value obtained from *objPtr*.

## DESCRIPTION

These procedures are used to create, modify, and read Tcl objects that hold double-precision floating-point values.

**Tcl\_NewDoubleObj** creates and returns a new Tcl object initialized to the double value *doubleValue*.  The returned Tcl object is unshared.

**Tcl\_SetDoubleObj** sets the value of an existing Tcl object pointed to by *objPtr* to the double value *doubleValue*.  The *objPtr* argument must point to an unshared Tcl object.  Any attempt to set the value of a shared Tcl object violates Tcl's copy-on-write policy.  Any existing string representation or internal representation in the unshared Tcl object will be freed as a consequence of setting the new value.

**Tcl\_GetDoubleFromObj** attempts to retrieve a double value from the Tcl object *objPtr*.  If the attempt succeeds, then **TCL\_OK** is returned, and the double value is written to the storage pointed to by *doublePtr*.  If the attempt fails, then **TCL\_ERROR** is returned, and if *interp* is non-NULL, an error message is left in *interp*. The **Tcl\_ObjType** of *objPtr* may be changed to make subsequent calls to **Tcl\_GetDoubleFromObj** more efficient.

## SEE ALSO

Tcl\_NewObj, Tcl\_DecrRefCount, Tcl\_IncrRefCount, Tcl\_GetObjResult

## KEYWORDS

double, double object, double type, internal representation, object, object type, string representation
