0

当谈到 SQL 和 PHP 时,我是一个新手,我正在尝试对平均价格结果进行四舍五入并去掉当前出现的额外零。

目前我的结果显示为:3.005000 美元

我的代码目前如下所示:

$result = mysql_query("SELECT AVG(price) FROM milk WHERE price > 0 ");
$row = mysql_fetch_row ($result);

我找到了几个 SQL 舍入和截断的示例,但不幸的是,我看到的教程没有为我提供关于我应该在哪里或如何实现这些更改的有用信息。

这让我猜测在哪里进行更改——到目前为止(显然)都没有成功。

如果有人可以为我提供如何舍入和截断结果的示例,其中包括我需要在当前配置中进行这些更改的确切位置,那将是最有帮助的,我将非常感激!如果我的 n00bishness 使解释解决方案变得更加困难,我真的很抱歉。

谢谢!

4

2 回答 2

2

数据的格式化应该在进行查询的脚本中完成,而不是在查询本身中。例如,在 PHP 中,您可以使用以下代码编写以下代码sprintf

$formatted_price = sprintf("%01.2f", $unformatted_price);

PHP 手册的补充示例)。

此外,通常,价格值存储为decimal类型或缩放整数,而不是浮点类型,因为浮点值不精确。

于 2009-10-21T21:18:34.633 回答
0

MySQL 有一个ROUND()函数。

因此,只需在 SQL 查询中四舍五入您的平均值:

$result = mysql_query("SELECT ROUND(AVG(price),2) FROM milk WHERE price > 0 ");

如果您最终遇到格式问题,您可以在输出期间使用 PHP 的number_format()函数。

于 2009-10-21T21:20:00.910 回答