【发布时间】:2011-11-22 20:22:31
【问题描述】:
是否有可能做到这一点? 例如,如果我有
$row['price']
这个值是 15000 我希望它显示为 15,000,但我不知道该怎么做? 感谢您的帮助。
【问题讨论】:
-
你的数据库中是不是没有逗号的值15000???
是否有可能做到这一点? 例如,如果我有
$row['price']
这个值是 15000 我希望它显示为 15,000,但我不知道该怎么做? 感谢您的帮助。
【问题讨论】:
那么,您想格式化您的数据吗?使用FORMAT函数怎么样?
FORMAT(X,D)
Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part. D should be a constant value.
mysql> SELECT FORMAT(12332.123456, 4);
-> '12,332.1235'
mysql> SELECT FORMAT(12332.1,4);
-> '12,332.1000'
mysql> SELECT FORMAT(12332.2,0);
-> '12,332'
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_format
编辑:示例查询
与人们使用(太频繁)的 SELECT * 相反,稍微修改您的查询。
SELECT id, fullName, position, FORMAT(pay, 0) as pay
FROM Employees WHERE lastName = 'Rubble';
【讨论】:
试试这个:
$row['price'] = 15000;
echo substr($row['price'], 0, -3) . ',' . substr($row['price'], -3);
echo substr($row['price'], 0, -3); // == 15
echo substr($row['price'], -3); // == 000
0 是字符串的起始位置。 -15 是字符串的负结束位置。
【讨论】:
如果您想在 MySQL 中进行格式化,那么您可以使用 FORMAT() 函数:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_format
【讨论】:
在 PHP 中,你可以使用number_format:
$formatted = number_format($row['price']);
这将在每组数千个之间添加一个逗号。如果您还想用一个点和两位小数来格式化您的价格,请使用:
$formatted = number_format($row['price'], 2);
【讨论】:
$formatted中。你试过echo $formatted; 来检查输出吗?
number_format($row['price'], 2) 保留小数点后两位。