用 PHP 格式化数字

Posted

技术标签:

【中文标题】用 PHP 格式化数字【英文标题】:Format number with PHP 【发布时间】:2018-05-09 09:50:04 【问题描述】:

我想用 php 格式化一个数字,但我没有得到想要的结果。

数字看起来像这样:2.37405,并且应该被塑造成看起来像这样:2.374,05。

我的代码如下所示:

echo number_format($new_price_formatted_no_discount - ($new_price_formatted_no_discount * 5 / 100), 2); ?>

输出在这里:2.37,不幸的是这是错误的..

我做错了什么?

【问题讨论】:

你试过money_format()吗? 原来的号码是多少? @apokryfos 原来的号码是2.37405 我不明白 2.374,05 与此有何关系。我会将 2.374,05 读作 2374 点零五,但原来的数字大约是 2。 展示你如何操纵你的数字,并展示所有这些。 2.37405 对我来说就像一个字符串,因为 dot。现在,我们无法判断这个点是千位分隔符还是小数分隔符,这会改变一切。 【参考方案1】:

请注意,2.374 介于 2 和 3 之间,而不是介于 2000 和 3000 之间。 number_format($number, $decimals) 将首先为千位添加逗号,例如将 1000 变成 1,000,然后四舍五入到 $decimals 小数。 所以你的数字 2.374 四舍五入为 2.37。 您可能希望将 237405 格式化为 2,374.05

英文数字格式是将逗号放在千位和一个点之间,放在有效数字之前,而德国人则相反。也许你混淆了这些格式?

【讨论】:

以上是关于用 PHP 格式化数字的主要内容,如果未能解决你的问题,请参考以下文章

用 PHP 格式化数字

php用逗号格式化数字

PHP 用科学记数法格式化数字

关于时间格式的转换,MYSQL,PHP,10位数字表示时间

学习PHP中国际化地数字格式处理

php格式化数字?