- ベストアンサー
この画像はphpの画像なんですが、なぜ小数0.12
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
PHPでは浮動小数点数をfloatまたはdoubleと表現するようです。 floatとdoubleは表現が違うだけで同じものと考えてください。 singleやlong doubleはなさそうです。 それにしても、floatとdoubleのうち、なぜvar_dumpがdoubleと出力するのかは、確かに疑問です。 ドキュメントを見ると、サンプルの出力はfloatとなっています。 バージョンによって異なるのかもしれません。 浮動小数点数に関係する関数に、以下のようなものがあります。 floatval doubleval is_float is_double ドキュメントによると、doubleが付くものは、floatが付くもののエイリアスとなっています。 エイリアスの解釈としては、doubleが付くものを呼ぶと、内部ではfloatが付くものを呼んでいると私は思っています。 それならfloatが基本となっている考え方のようなので、var_dumpの結果も画像のようなものではなく、ドキュメントのサンプルと同じようにfloatを出力すべきであると私は思います。 これらから、var_dumpはdoubleを表示するように、PHPは設計、製造、コンパイルされているからとしか言えそうにないです。 理由はドキュメントから読み取れませんでした。
その他の回答 (2)
- dell_OK
- ベストアンサー率13% (766/5721)
回答No.1を読んで、訂正します。 「float型とdouble型がある」とのことなので、 「同じものと考えてください」はなかったことにしてください。
お礼
ありがとうございます
- t_ohta
- ベストアンサー率38% (5238/13705)
PHPの浮動小数点型はfloat型とdouble型があります。 質問者さんが使われている環境ではdouble型が優先的に利用される型になっており、変数に少数を入れようとした際に型宣言していなかったので自動的にdouble型として設定されたと言う事です。
お礼
二種類あったんですね ありがとうございます
お礼
singleもないんですね?