如何在 PHP 中为数字(千、十万、百万、十亿)添加逗号分隔符



我想在值上升到十万、百万、十亿时添加逗号分隔符。

怎么能做到呢?

我在 http://php.net/manual/en/function.number-format.php 的参考资料

我当前的代码可以在千位分隔符上添加逗号。

<?php
  $output = "1000000"; 
  if($output == "NULL"){
    echo "0";
  } else {
    $output;
    $new = number_format($output, 2, '.', ',');
    if($new == "0.00"){
      echo "0";
    } else {
      echo $new;
    }
  }
?>

输出:

1000 into 1,000.00

当价值达到100万时,问题就来了。它像这样显示。

100000,000.00

它不会添加十万到百万之间的逗号。

我希望我的最终值看起来像这样。

1,000,000.00 

感谢这里的专业人士可以帮助我解决这个问题。

提前谢谢。

正如我在评论中所说,由于这个错误,您会感到困惑。

echo $output = "1000000";

将其设置为 "1000000" 然后回显它,然后您的代码执行,并且所有内容都卡在一起。

举个例子:

$output = 1000;//initial value
echo $output = "1000000"; //initial value is overwritten then echoed
if($output == "NULL"){
  echo "0";
} else {
  $output;
  $new = number_format($output, 2, '.', ',');
  if($new == "0.00"){
    echo "0";
  } else {
    echo $new;
  }
}

输出:

10000001,000,000.00

这是您的代码未修改。

沙盒

现在,如果您删除该回声

$output = "1000000";

你会看到

1,000,000.00

沙盒2

现在请注意,除了删除第一个回显之外,我没有修改您的代码。 现在,如果你真的想这样做echo $output = "1000000";我不会真的建议这样做,因为它很丑。你可以在它之后加上某种分离。

echo $output = "1000000";  
echo PHP_EOL.'---------------'.PHP_EOL;

然后你得到

1000000
---------------
1,000,000.00

默认情况下,echo 不会创建新行。

有意义

最新更新