PHP マニュアル
前のページ | 第 11章型 | 次のページ

# 浮動小数点数

("float","double","実数"のような) フロート数は、次の構文により指定 できます。

`<?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?>`

規約:

`LNUM [0-9]+ DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*) EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+-]? {LNUM})`

floatの大きさはプラットフォーム依存です。ただし、通常はおよそ10 進数で14桁の精度があり、最大値は ~1.8e308 (これは 64ビット IEEE フォーマットです)となります。

浮動小数点数の精度
0.1や0.7のような 簡単な小数表現も若干精度を失うことなく内部的な2進表現に変 換することはできません。これにより、混乱する結果を生じることがあ ります。つまり、floor((0.1+0.7)*10) は 予想される 8の代わりに実際の内部表現の結果とし て7.9999999999...のようなものを結果として返し ます。 これは、いくつかの分数は有限の桁数の小数点表記で正確に表現できな いという事実に関係しています。例えば、1/3の小 数点表記は、0.3333333. . .となります。 よって、小数の最後の桁を信用してはいかませんし、小数が等しいとい う比較を行ってはいけません。より高い精度が必要な場合には、 任意精度数学関数または gmp関数を代わりに使用してください。

## floatへの変換

文字列型がどのようにして浮動小数点数に変換されるかに関する 詳細な情報は文字列の 数値型への変換のセクションをご覧ください。 そのほかの型の浮動小数点数への変換については、整数型への変換と同様です。 詳細は整数型への変換 のセクションをご覧ください。 PHP 5以降、オブジェクトをフロートに変換しようとした場合には、 通知がスローされます。

前のページ | ホーム | 次のページ
整数 | 上に戻る | 文字列