我有以下价格。
这些价格如何在PHP中以数百万和数千显示?
我希望有一个用户定义的函数来将这些值显示为数百万和数千种格式,因为这些价格将是动态的。
更新
我想将上述值显示为:
所以任何人都可以告诉我它是如何做到的?
感谢。
答案 0 :(得分:10)
使用number_format()
功能
echo number_format("14500000", 0, '', ',');
<强>输出强>
14,500,000
OR
如果您想用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
答案 1 :(得分:4)
使用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);
?>
<强> WORKING CODE 强>
答案 2 :(得分: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";
答案 3 :(得分:0)
您可以使用http://php.net/manual/en/function.number-format.php
中所述的number_format
功能
答案 4 :(得分:0)
如果你谷歌php number thousand separator
,第一个结果将指向描述number_format
的PHP文档
如果只给出一个参数,数字将被格式化为不带小数,但在每组数千之间使用逗号(“,”)。
示例代码:
$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);