5

我有以下价格。

  • 14,500,000
  • 1,800,000

这些价格如何在 PHP 中显示为数百万和数千?

我希望有一个用户定义的函数将这些值显示为数以百万计的格式,因为这些价格将是动态的。

更新

我想将上述值显示为:

  1. 14,500,000 将等于 1400 万和 50 万
  2. 1,800,000 将等于 100 万和 80 万。

所以任何人都可以告诉我它是如何做到的?

谢谢。

4

5 回答 5

19

使用number_format()功能

echo number_format("14500000", 0, '', ',');

输出

14,500,000


或者

如果您想以 Kilo/Million/Billion 表示价格

$number = "14500000";

if ($number < 1000000) {
    // Anything less than a million
    $format = number_format($number);
} else if ($number < 1000000000) {
    // Anything less than a billion
    $format = number_format($number / 1000000, 2) . 'M';
} else {
    // At least a billion
    $format = number_format($number / 1000000000, 2) . 'B';
}

echo $format;

输出

14.50M
于 2013-10-09T06:13:39.270 回答
5

使用number_format功能

number_format($number, 2, '.', ',');

完整示例:

$number = '14,500,400';
$tab = explode(",",$number);
$arrayNumber = array_reverse($tab);
if(intval($arrayNumber[0])!=0){
    $str[] = $arrayNumber[0] . ' hundreds';
}
if(intval($arrayNumber[1])!=0){
    $str[] = $arrayNumber[1] . ' thousands';
}
if(intval($arrayNumber[2])!=0){
    $str[] = $arrayNumber[2] . ' millions';
}
$strArr = array_reverse($str);
echo join(' ', $strArr);

工作代码

于 2013-10-09T06:09:13.550 回答
1

尝试这个

$price = '14,500,000';

echo $price = (int)str_replace(",","",$price);
echo '<br>';

$thousands = $price % 1000000;

$millions = ($price - $thousands)/1000000;

$thousands = $thousands / 1000;
echo $thousands = $thousands . " Thousands";

echo $millions = $millions . " Millions";
于 2013-10-09T06:16:07.157 回答
0

如果你用谷歌搜索php number thousand separator第一个结果将指向描述的 PHP 文档number_format

如果只给出一个参数,数字将被格式化为不带小数,但在每组千位之间使用逗号 (",")。

示例代码:

$formatted_number = number_format(14500000);

但是,如果您想显示14 million,您可以编写一个函数来计算以 10 为底的对数(给出位数),然后创建一个带有单位(千、百万等)的查找表。将数字除以最接近的 1000 倍数。这应该会给您预期的结果。

如果您的数字始终在数百万范围内,则它是简单的除法和模数:

define('MILLION', 1000000);
$number = 14500000;

$millions = floor($number/MILLION);
$thousands = floor(($number % MILLION) / 1000);
$formatted = sprintf('%d millions and %d thousands', $millions, $thousands);
于 2013-10-09T06:11:13.667 回答
0

您可以使用以下number_format说明的功能:http: //php.net/manual/en/function.number-format.php

于 2013-10-09T06:09:37.723 回答