【发布时间】:2011-06-21 17:32:49
【问题描述】:
现在我在我的数据库中将数字存储为 double(11,3)。有些数字可能是更大的负数。我现在玩的是-3000.000
当我仅在 3000.000 上使用 number_format 时,它返回 3,000 当我在 -3000.000 上使用 number_format 时,它返回 -3
任何想法为什么会发生这种情况以及我可以做些什么来解决它?我现在有点不知所措,为什么会发生这种情况。
谢谢,
杰夫
编辑:我让它与以下代码一起工作:
$number = abs($row['Amount']) * -1; $final = number_format($number,2);
现在为什么这会起作用而不是:
$final = number_format($row['Amount'],2);
我没有头绪,但至少我找到了解决方案,谢谢你的帮助:)
【问题讨论】:
-
这个
php -R 'echo number_format(-3000.000);'返回-3,000。你能确认数据库发送的信息是正确的吗? -
哪个 DBMS?在某些 PHP 版本中存在一些关于某些数据库的错误 - PHP 未正确检索某些数值。
-
刚刚这样做:echo number_format(3000.000,2) * -1;并得到-3...我不明白这里出了什么问题。
标签: php number-formatting