0

我正在从 MySQL 中获取(使用 PHP PDO)一个值(以有符号的 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'];
}

从数据库中获取这些数据的最佳方法是什么?我已经阅读了 PHP 中的浮点逼近问题。因此,我想也许将 SQL 更改为:

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

或者在 PHP 中使用roundor 。number_format你们会建议什么,为什么?

更改表结构不是一种选择!

(原因:我需要支持的旧代码 + 没有时间 + 没有预算)

4

1 回答 1

2

你可以这样做

"SELECT round(hours, 2) FROM sample WHERE filter=?;"
于 2013-05-15T12:50:15.887 回答