如何将金额格式化为货币

时间:2018-07-15 21:31:05

标签: php mysql

有很多问题,我在表中的字段上使用SUM,它可以工作,但只能用小数点后一位,我需要将其设置为货币格式,我尝试了以下代码,但没有其他尝试

$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable"; 

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
    echo "Total ". $row['SUM(purchase)'];
    echo "<br />";
}

2 个答案:

答案 0 :(得分:1)

首先,请不要使用mysql*函数,因为它们已被弃用。移至mysqli*函数。 See the PHP Docs for more details

如何?

SELECT CONCAT('$', ROUND(SUM(`purchase`), 2)) AS `result` 
FROM `dtable`

CONCAT只是将字段串联在一起,因此,在您的情况下,您将以$###2结尾。您需要一个函数(例如ROUND)来根据需要设置数字的格式。 ROUND将所需的小数位数作为第一个参数。有关ROUND(和其他MySQL数学函数)的更多信息,请访问:https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_round

您也可以使用number_format在PHP中完成所有操作。

更改

$query = "SELECT purchase concat('$', sum(purchase), 2) from dtable";
....     
echo "Total ". $row['SUM(purchase)'];

$query = "SELECT SUM(`purchase`) AS `sumOfPurchase` FROM `dtable`"; 
....
echo 'Total $' . number_format($row['sumOfPurchase'], 2);

答案 1 :(得分:0)

您也可以使用

SELECT CONCAT('$',FORMAT(sum(purchase),2)) as purchase from dtable

将给出$ 1,234,567.89的结果