如何在 PHP 中为数字添加逗号

我想知道如何给数字加逗号,这样问题就简单了。

我想改变这一点:

1210 views

致:

1,210 views

以及:

14301

14,301

对于更大的数,可以用 php 函数吗?

108238 次浏览

从 php 手册 http://php.net/manual/en/function.number-format.php

我猜你想要英文版。

<?php


$number = 1234.56;


// english notation (default)
$english_format_number = number_format($number);
// 1,235


// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56


$number = 1234.5678;


// english notation with a decimal point and without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57


?>

我的两分钱

通常情况下,如果一个数字大到可以用逗号表示,那么你可能希望小数点后没有任何数字——但是如果你显示的值可能很小,那么你可能希望显示那些小数位。有条件地应用 number _ format,您可以使用它来添加逗号和剪切任何不相关的后点小数。

if($measurement1 > 999) {
//Adds commas in thousands and drops anything after the decimal point
$measurement1 = number_format($measurement1);
}

如果显示从现实输入导出的计算值,则工作得很好。

 $number = 1234.56;


//Vietnam notation(comma for decimal point, dot for thousand separator)


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


//1.234,56

下面的代码正在为我工作,这可能对你有帮助。

$number = 1234.56;


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

//1,234.56

这是孟加拉文的格式

首先创建一个函数

    function numberFormat($number, $decimals=0)
{


// $number = 555;
// $decimals=0;
// $number = 555.000;
// $number = 555.123456;


if (strpos($number,'.')!=null)
{
$decimalNumbers = substr($number, strpos($number,'.'));
$decimalNumbers = substr($decimalNumbers, 1, $decimals);
}
else
{
$decimalNumbers = 0;
for ($i = 2; $i <=$decimals ; $i++)
{
$decimalNumbers = $decimalNumbers.'0';
}
}
// return $decimalNumbers;






$number = (int) $number;
// reverse
$number = strrev($number);


$n = '';
$stringlength = strlen($number);


for ($i = 0; $i < $stringlength; $i++)
{
if ($i%2==0 && $i!=$stringlength-1 && $i>1)
{
$n = $n.$number[$i].',';
}
else
{
$n = $n.$number[$i];
}
}


$number = $n;
// reverse
$number = strrev($number);


($decimals!=0)? $number=$number.'.'.$decimalNumbers : $number ;


return $number;
}


调用函数

* numberFormat(5000000, 2)  // 50,00,000.00
* numberFormat(5000000)  // 50,00,000

试试看:

function format_my_number() {
$result = number_format(14301,2,',','.');
return $result;
}