# 浮点数对象

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

  Create a `PyFloatObject` object based on the string value in str, or NULL on failure.

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

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

double `PyFloat_AsDouble`(PyObject *pyfloat)

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

double `PyFloat_AS_DOUBLE`(PyObject *pyfloat)

  返回一个 pyfloat 内容的 C `double` 表示，但没有错误检查。

PyObject* `PyFloat_GetInfo`(void)

  返回一个 structseq 实例，其中包含有关 float 的精度、最小值和最大值的信息。 它是头文件 `float.h` 的一个简单包装。

double `PyFloat_GetMax`()

  返回最大可表示的有限浮点数 DBL_MAX 为 C `double` 。

double `PyFloat_GetMin`()

  返回最小可表示归一化正浮点数 DBL_MIN 为 C `double` 。

int `PyFloat_ClearFreeList`()

  清空浮点数释放列表。 返回无法释放的项目数。