# 浮点数对象

type `PyFloatObject`

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

PyTypeObject `PyFloat_Type`
  Part of the Stable ABI.

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

int `PyFloat_Check`(PyObject *p)

  如果它的参数是一个 `PyFloatObject` 或者 `PyFloatObject` 的子类型则返回真值。 此函数总是会成功执行。

int `PyFloat_CheckExact`(PyObject *p)

  如果它的参数是一个 `PyFloatObject` 但不是 `PyFloatObject` 的子类型则返回真值。 此函数总是会成功执行。

PyObject *`PyFloat_FromString`(PyObject *str)
  返回值：新的引用。 Part of the Stable ABI.

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

PyObject *`PyFloat_FromDouble`(double v)
  返回值：新的引用。 Part of the Stable ABI.

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

double `PyFloat_AsDouble`(PyObject *pyfloat)
  Part of the Stable ABI.

  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. If `__float__()` is not defined then it falls back to `__index__()`. This method returns `-1.0` upon failure, so one should call `PyErr_Occurred()` to check for errors.

  在 3.8 版更改: 如果可用将使用 `__index__()`。

double `PyFloat_AS_DOUBLE`(PyObject *pyfloat)

  返回 pyfloat 的 C `double` 表示形式，但不带错误检测。

PyObject *`PyFloat_GetInfo`(void)
  返回值：新的引用。 Part of the Stable ABI.

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

double `PyFloat_GetMax`()
  Part of the Stable ABI.

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

double `PyFloat_GetMin`()
  Part of the Stable ABI.

  返回 C `double` 形式的最小正规化正浮点数 DBL_MIN。