0

良い一日。mysqliクラスのバインド変数を使用して MySQL データベースから浮動小数点数を選択する際に問題があります。

price列のタイプFLOAT(9,2)とその値1.01

簡略化されたコード:

$stmt = $dbh->prepare('SELECT price FROM goods WHERE id=5');
$stmt->execute();
$stmt->bind_result(&$price);
$stmt->fetch();
echo $price;
// 1.0099999904633

私が理解しているようmysqliに、自動的に double にキャストします。しかし、なぜ?

テーブルの列のタイプを変更するDOUBLE(9,2)と、すべてがうまくいき、$price値は正確になり1.01ます。

列の型として (丸め関数なしで)変数1.01の値を取得する方法はありますか?$priceFLOAT(9,2)

ありがとうございました。

4

1 に答える 1