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 object)

`PyFloatObject`

  この `PyObject` のサブタイプは Python 浮動小数点型オブジェクトを表現します。

PyTypeObject `PyFloat_Type`

  この `PyTypeObject` のインスタンスは Python 浮動小数点型を表現します。これは `float` や `types.FloatType` と同じオブジェクトです。

int `PyFloat_Check`(PyObject *p)

  引数が `PyFloatObject` か `PyFloatObject` のサブタイプのときに真を返します。

  バージョン 2.2 で変更: サブタイプを引数にとれるようになりました.

int `PyFloat_CheckExact`(PyObject *p)

  引数が `PyFloatObject` 型で、かつ `PyFloatObject` 型のサブタイプでないときに真を返します。

  バージョン 2.2 で追加.

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

  str の文字列値をもとに `PyFloatObject` オブジェクトを生成します。失敗すると NULL を返します。引数 pend は無視されます。この引数は後方互換性のためだけに残されています。

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

  v から `PyFloatObject` オブジェクトを生成して返します。失敗すると NULL を返します。

double `PyFloat_AsDouble`(PyObject *pyfloat)

  pyfloat の指す値を、 C の `double` 型表現で返します。 pyfloat が Python 浮動小数点オブジェクトではなく、かつ `__float__()` メソッドを持っていれば、 pyfloat を浮動小数点に変換するためにこのメソッドが最初に呼ばれます。失敗した場合 `-1.0` を返します。そのため呼び出し元は `PyErr_Occurred()` を呼んでエラーをチェックすべきです。

double `PyFloat_AS_DOUBLE`(PyObject *pyfloat)

  pyfloat の指す値を、 C の `double` 型表現で返しますが、エラーチェックを行いません。

PyObject* `PyFloat_GetInfo`(void)

  float の精度、最小値、最大値に関する情報を含む structseq インスタンスを返します。これは、 `float.h` ファイルの薄いラッパーです。

  バージョン 2.6 で追加.

double `PyFloat_GetMax`()

  float の表現できる最大限解値 DBL_MAX を C の `double` 型で返します。

  バージョン 2.6 で追加.

double `PyFloat_GetMin`()

  float の正規化された最小の正の値 DBL_MIN を C の `double` 型で返します。

  バージョン 2.6 で追加.

int `PyFloat_ClearFreeList`()

  float の free list をクリアします。解放できなかったアイテム数を返します。

  バージョン 2.6 で追加.

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

  `str()` と同じルールで v を文字列に変換します。 buf の長さは 100 以上でなければなりません。

  この関数は長さを知らないバッファに書きこむので安全ではありません。

  バージョン 2.7 で非推奨: 代わりに `PyObject_Str()` か `PyOS_double_to_string()` を利用してください。

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

  `PyFloat_AsString()` とほとんど同じですが、 `repr()` とおなじルールを使います。 buf の長さは 100 以上でなければなりません。

  この関数は長さを知らないバッファに書きこむので安全ではありません。

  バージョン 2.7 で非推奨: 代わりに `PyObject_Repr()` か `PyOS_double_to_string()` を利用してください。