PHP 使用 number_format 并正确显示小数点
Posted
技术标签:
【中文标题】PHP 使用 number_format 并正确显示小数点【英文标题】:PHP using number_format and displaying the decimal point correctly 【发布时间】:2014-10-29 21:53:33 【问题描述】:我的号码是 495,简单明了。
我正在尝试格式化这个数字,让它显示为 $4.95
我所做的是number_format($number, 2, '.', '')
但输出495.00
我知道这不可能这么难。有人熟悉number_format
吗?
我只需要它从右边添加一个十进制的两个数字,以便始终显示美分。前任。 4.95、12.58、23.39……你懂的。
谢谢。
【问题讨论】:
哎呀,我的错。把问题读错了,如果我可以删除这个我会的! 另外,您应该注意该实例中的最后两个参数是不成熟的(这些是默认值) 【参考方案1】:如果您使用整数而不是浮点数,您首先必须除以 100。
$number = 495;
echo number_format($number/100, 2, '.', '')
【讨论】:
天哪!我不敢相信。我的大脑今天完成了。谢谢 jboneca @ValleyDigital 确定,老兄!【参考方案2】:假设您的数字都是整数,您可以执行以下操作:
$mynum = 495;
function formatMyNum($num)
return $num/100;
【讨论】:
当你可以将 $number 除以 100 时,为什么要为所有内容编写函数? 我假设您希望重用逻辑。我猜是个人喜好。追随你的开发人员不知道你为什么要除以 100,所以函数可以是自文档【参考方案3】:数字格式仅显示 floats
,使用 N 个小数位和您选择的小数/千位分隔符。
如果您将4.95
传递给它,它会显示很好,因此只需将您的$number
除以100
,然后再将其传递给函数。
echo number_format($number/100, 2, '.', '');
【讨论】:
以上是关于PHP 使用 number_format 并正确显示小数点的主要内容,如果未能解决你的问题,请参考以下文章
PHP number_format() 十进制 .99 变为 .00