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

     2023-04-13     177

关键词:

【中文标题】如何在 PHP 中为数字(千、十万、百万、十亿)添加逗号分隔符【英文标题】:How can I add commas separator to numbers (thousands, hundred thousand, million, billion) in PHP 【发布时间】:2018-08-08 03:13:42 【问题描述】:

当值达到十万,百万,十亿时,我想添加逗号分隔符。

如何做到这一点?

我在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 

在这里欣赏专业人士可以帮助我解决这个问题。

提前致谢。

【问题讨论】:

3v4l.org/RgpL3 似乎适合我,您的 php.ini 配置中是否有任何特殊的区域/国家本地化设置? 对我来说很好,sandbox.onlinephpfunctions.com/code/… 你的问题是你没有在回声之间添加任何空格或新行。 我会解雇所有null0.00 废话,只使用empty。 这是什么? echo $output = "1000000"; 然后没有 "\n" after you echo, is jamming your output together and making echo "1000"` 和 echo "1,000.00" 看起来不是这样。我怀疑你的输出就是你说的,$output的初始值是多少 How can I add commas to numbers in PHP的可能重复 【参考方案1】:

正如我在 cmets 中所说,您因为这个错误而感到困惑。

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

这是您未修改的代码。

Sandbox

现在如果你移除那个回声

$output = "1000000";

你会看到

1,000,000.00

Sandbox2

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

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

然后你得到

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

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

有道理,

【讨论】:

字符串格式数字千位123K、百万位123M、十亿位123B

】字符串格式数字千位123K、百万位123M、十亿位123B【英文标题】:StringFormatNumbersThousands123K,Millions123M,Billions123B【发布时间】:2012-07-3101:39:28【问题描述】:有没有一种方法可以使用字符串格式化程序将Thousands、Millions、Billions格... 查看详情

用excel做表格,一个是单价,一个是数量,然后希望输出百万位,十万位,万位,千万,千,百,拾,元

...表格,一个是单价,一个是数量,然后希望输出百万位,十万位,万位,千万,千,百,拾,元,角,分(最好在前面加一个¥,这个有时在万位,表示金额是仟,有时在百万位,表示金额是十万内的,有时在百万之前,表示金... 查看详情

谷歌表格:将百万/十亿的价值转换为数字

...示以百万或十亿为单位的美元价值,例如$239M、$1.23B等。如何将这些转换为数值?[编辑]找到了一个Excel例子,但是当我尝试转换成表格时,结果总是为零:=IFS(RIGH 查看详情

具有数千、数百万和数十亿的问题排序数字(货币)

...的数字从0,0000000052€到31.939€。这是我的tablesort.js,我该如何解决这个问题。我的目标是在单击标题时 查看详情

用百万 (M) 和十亿 (B) 后缀格式化数字

】用百万(M)和十亿(B)后缀格式化数字【英文标题】:Formatnumberswithmillion(M)andbillion(B)suffixes【发布时间】:2015-01-2622:29:53【问题描述】:我有很多数字,例如货币或美元:16,000,000275,000,4003743,450,0004340,00054,300,000我想使用后缀来格式... 查看详情

谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]

】谷歌表格将数字格式化为十亿/百万/数千,巧妙地[重复]【英文标题】:GooglesheetsFormatnumbersasbillions/millions/thousands,smartly[duplicate]【发布时间】:2020-01-2913:08:58【问题描述】:我有这个数字模板格式:[>=999950]0.0,,"M";[<=-999950]0... 查看详情

PHP在数字中添加千位分隔符并保持前导零

】PHP在数字中添加千位分隔符并保持前导零【英文标题】:PHPaddthousandseparatorstonumberandkeepleadingzeros【发布时间】:2013-10-1413:51:27【问题描述】:我正在尝试使用PHP为数字添加千位分隔符,同时保留前导零(这是应用程序设计的一... 查看详情

如何在Winforms,C#中为文本框添加千位分隔符[重复]

】如何在Winforms,C#中为文本框添加千位分隔符[重复]【英文标题】:HowtoaddathousandseparatorforatextboxinWinforms,C#[duplicate]【发布时间】:2021-04-1322:33:44【问题描述】:我想知道如何在我的文本框中输入数字时添加千位分隔符,例如逗... 查看详情

java怎么将数字1转换为大写一

如下是一个将阿拉伯数字转为汉字的类,需要者可收藏到自己的util类库中以备不时之需。publicclassArabicToChineseUtilsstaticString[]units="","十","百","千","万","十万","百万","千万","亿","十亿","百亿","千亿","万亿";staticchar[]numArray=\'零\',\'一\... 查看详情

在 WooCommerce 中为产品数量添加千位分隔符

】在WooCommerce中为产品数量添加千位分隔符【英文标题】:AddthousandseparatortoproductquantityinWooCommerce【发布时间】:2020-09-1202:50:31【问题描述】:我们公司订购了1000件产品销售的门户交易。我正在尝试在数量上添加一千个分隔符以... 查看详情

如何在 swift 中为 UILabel 中的递增数字设置动画

】如何在swift中为UILabel中的递增数字设置动画【英文标题】:HowtoanimateincrementingnumberinUILabelinswift【发布时间】:2016-07-2201:54:54【问题描述】:我有一个显示数字的标签,我想将其更改为更高的数字,但是,我想给它添加一点闪... 查看详情

如何在 Angular 4 中为表格添加分页?

】如何在Angular4中为表格添加分页?【英文标题】:HowtoaddpaginationinAngular4foratable?【发布时间】:2018-03-3002:16:26【问题描述】:我是Angular4的新手,如果有人能告诉我如何在表格中添加分页,我将不胜感激。以下是我的代码:HTML... 查看详情

如何在python中为GET请求添加轮询间隔

】如何在python中为GET请求添加轮询间隔【英文标题】:HowtoaddpollingintervalforaGETrequestinpython【发布时间】:2021-05-2318:43:14【问题描述】:我有一个案例,我必须不断检查GET调用的响应,直到我在api响应中看到status为success。从active... 查看详情

使用 C 在 Windows 中打印带有千位分隔符的整数

...计信息。以我懒惰的思维方式,读取格式为“1,523,556”的数字比“1523556”容易 查看详情

excel怎么设置数据以百万单位显示

...技术A  1、下表是各个公司的数据情况,看到E列数据是数字计数形式,在浏览的时候还要数位数才能读出具体是多少,这样十分不方便。选中F1单元格,点击数据验证选项。  2、弹出数据验证对话框,在验证条件中允许选择... 查看详情

百万用户,八十万商品,如何计算基于物品的协同过滤

问题描述:数据包含了一百四十万用户对80万商品的打分。要利用基于物品的协同过滤来计算。如果直接两两计算140万维的向量相似度,肯定不行啊。问题分析:每个物品的向量虽然是140万维的,但是其实给一个物品打分的用户... 查看详情

如何在shell中为for循环添加前导零? [复制]

】如何在shell中为for循环添加前导零?[复制]【英文标题】:Howtoaddleadingzerosforfor-loopinshell?[duplicate]【发布时间】:2013-08-2921:17:15【问题描述】:我有一个基本数字for循环,它在每次迭代中将变量num递增1...for((num=1;num<=5;num++))doec... 查看详情

如何更新几十万上百万的数据在oracle和mysql(代码片段)

...换线上的数据,数据量在几十万到百万之间,那如何更新呢?分析因为是线上的数据更新,我当时想着先在本地建立一个临时表,上传到临时表,然后把这个临时表给DBA,再用SQL语句做关联就行了。但... 查看详情