# 浮点数对象

`PyFloatObject`

  这个C类型 `PyObject` 的子类型代表一个Python浮点数对象。

PyTypeObject `PyFloat_Type`

  这是个属于C类型 `PyTypeObject` 的代表Python浮点类型的实例。在Python层面的类型 `float` 是同一个对象。

int `PyFloat_Check`(PyObject *p)

  当他的参数是一个C类型 `PyFloatObject` 或者是C类型 `PyFloatObject` 的子类型时，返回真。

int `PyFloat_CheckExact`(PyObject *p)

  当他的参数是一个C类型 `PyFloatObject` 但不是C类型 `PyFloatObject` 的子类型时，返回真。

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

  根据字符串 str 的值，创建一个C类型 `PyFloatObject` 对象，失败时返回 NULL 。

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

  根据 v 创建一个C类型 `PyFloatObject` 对象，失败时返回 NULL 。

double `PyFloat_AsDouble`(PyObject *pyfloat)

  返回一个代表 pyfloat 内容的C类型 `double`。如果 float 不是一个Python浮点数对象，但是包含 `__float__()` 方法，这个方法会首先被调用，将 pyfloat 转换成一个浮点数。失败时这个方法返回 `-1.0`，所以应该调用C函数 `PyErr_Occurred()` 检查错误。

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 value: New reference.

  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`.

double `PyFloat_GetMax`()

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

double `PyFloat_GetMin`()

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

int `PyFloat_ClearFreeList`()

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