Floating Point Objects — Python 2.7.18 documentation

This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

# Floating Point Objects

`PyFloatObject`

  This subtype of `PyObject` represents a Python floating point object.

PyTypeObject `PyFloat_Type`

  This instance of `PyTypeObject` represents the Python floating point type. This is the same object as `float` and `types.FloatType`.

int `PyFloat_Check`(PyObject *p)

  Return true if its argument is a `PyFloatObject` or a subtype of `PyFloatObject`.

  Changed in version 2.2: Allowed subtypes to be accepted.

int `PyFloat_CheckExact`(PyObject *p)

  Return true if its argument is a `PyFloatObject`, but not a subtype of `PyFloatObject`.

  New in version 2.2.

PyObject* `PyFloat_FromString`(PyObject *str, char **pend)
  Return value: New reference.

  Create a `PyFloatObject` object based on the string value in str, or NULL on failure. The pend argument is ignored. It remains only for backward compatibility.

PyObject* `PyFloat_FromDouble`(double v)
  Return value: New reference.

  Create a `PyFloatObject` object from v, or NULL on failure.

double `PyFloat_AsDouble`(PyObject *pyfloat)

  Return a C `double` representation of the contents of pyfloat. If pyfloat is not a Python floating point object but has a `__float__()` method, this method will first be called to convert pyfloat into a float. This method returns `-1.0` upon failure, so one should call `PyErr_Occurred()` to check for errors.

double `PyFloat_AS_DOUBLE`(PyObject *pyfloat)

  Return a C `double` representation of the contents of pyfloat, but without error checking.

PyObject* `PyFloat_GetInfo`(void)

  Return a structseq instance which contains information about the precision, minimum and maximum values of a float. It’s a thin wrapper around the header file `float.h`.

  New in version 2.6.

double `PyFloat_GetMax`()

  Return the maximum representable finite float DBL_MAX as C `double`.

  New in version 2.6.

double `PyFloat_GetMin`()

  Return the minimum normalized positive float DBL_MIN as C `double`.

  New in version 2.6.

int `PyFloat_ClearFreeList`()

  Clear the float free list. Return the number of items that could not be freed.

  New in version 2.6.

void `PyFloat_AsString`(char *buf, PyFloatObject *v)

  Convert the argument v to a string, using the same rules as `str()`. The length of buf should be at least 100.

  This function is unsafe to call because it writes to a buffer whose length it does not know.

  Deprecated since version 2.7: Use `PyObject_Str()` or `PyOS_double_to_string()` instead.

void `PyFloat_AsReprString`(char *buf, PyFloatObject *v)

  Same as PyFloat_AsString, except uses the same rules as `repr()`. The length of buf should be at least 100.

  This function is unsafe to call because it writes to a buffer whose length it does not know.

  Deprecated since version 2.7: Use `PyObject_Repr()` or `PyOS_double_to_string()` instead.