0

MySQL から (PHP PDO を使用して) 値 (signed Float(7,2) 形式で格納) を取得しています。

Result
=====================
Database = 8.9 //correct value
PHP = 8.8999996185303 //fetch from PHP PDO

サンプルコード:

$qry = 'SELECT hours FROM sample WHERE filter=?;';
$stmt = $db->prepare($qry);
$stmt->execute(array($filter));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['hours'];
}

DB からこのデータを取得する最善の方法は何ですか? PHP の浮動小数点近似の問題について読みました。したがって、おそらくSQLを次のように変更することを考えていました。

SELECT (hours * 100) as butSoExpensiveOnDatabase etc...

roundまたはnumber_formatPHP でor を使用します。あなたたちは何を提案しますか、そしてその理由は何ですか?

テーブル構造を変更することはオプションではありません!

(理由: サポートが必要な古いレガシー コード + 時間がない + 予算がない)

4

1 に答える 1