十进制的number_format问题[关闭]
Posted
技术标签:
【中文标题】十进制的number_format问题[关闭]【英文标题】:number_format issue with decimal [closed] 【发布时间】:2013-05-15 19:56:56 【问题描述】:我正在尝试以逗号分隔格式显示数据库中的十进制数.... 例如 1000000 为 1,000,000
我目前正在使用 number_format() 函数
但是当我进行一些计算时它会变得混乱...... 例如 它显示 900000.00 到 9.00 而不是 900000.00=> 900,000.00
有什么帮助吗??
这是我的代码
if($amount==$fee)
$status='Huna DENI';
elseif($amount<$fee)
$debt=$fee-$amount;
$status='Una DENI la:'.' '.number_format($debt,2,".",",").'
'.'<font color="#003399">'.'TSH'.'</font>';
【问题讨论】:
number_format()
只能用于演示,不能用于计算
查看代码中带有$debt=$fee-$amount;
的行,然后您使用了$debt['amount']
,不应该只是$debt
吗?如果没有,$debt['amount']
将如何具有价值? (在$debt=$fee-$amount;
)
$debt['amount']
的值和类型是什么?你可以做var_dump($debt['amount']);
。
【参考方案1】:
你使用的是$debt['amount']
,而你声明的变量是$debt
,所以你的代码应该看起来像
$status='Una DENI la:'.' '.number_format($debt,2,".",",").'
【讨论】:
确实如此。简短解释: ($debt['amount']
当 $debt 是标量时:$debt
转换为字符串,'amount'
转换为 int
,$debt['amount']
变为 $debt[0]
,对于字符串表示 "the第一个字符”,即9
,因此这是将被格式化的值)。
是的,我混合了它.....然后
@internally1 欢迎您,不要忘记接受答案以帮助将来有类似问题的人以上是关于十进制的number_format问题[关闭]的主要内容,如果未能解决你的问题,请参考以下文章