是否有任何 PHP 函数可以将数字转换为具有千位分隔符的货币?

Posted

技术标签:

【中文标题】是否有任何 PHP 函数可以将数字转换为具有千位分隔符的货币?【英文标题】:Is there any PHP function to convert number to currency with thousands separators? 【发布时间】:2015-01-27 17:50:21 【问题描述】:

是否有任何 php 函数可以将 integer 转换为 Lakh 和 Crore?

900800 -> 9,00,800
500800 -> 5,00,800

【问题讨论】:

number_format(): php.net/manual/en/function.number-format.php @Rizier123 OP 请求印度数字格式,number_format 不这样做。 @ColinvH 我怎么知道那是Indian number format? (但很高兴知道) @Rizier123 在 1,000 之后,它们按 100 分组(例如,9,00,800 和 3,21,00,500)。 【参考方案1】:

由于您在问题标签中添加了Yii,您可以通过Yii 的方式执行此操作,如下所示:

Yii::app()->language='en_IN';
// Output: Lakh 9,00,800
echo Yii::app()->numberFormatter->formatCurrency('900800', 'Lakh');

// Output: ₹ 5,00,800
echo Yii::app()->numberFormatter->formatCurrency('500800', 'INR');

【讨论】:

它的输出 5,00,800.00,如何从这个字符串中删除 .00【参考方案2】:

对于大多数语言环境,使用 number_format: http://php.net/manual/en/function.number-format.php

对于印度 (Lakh & Crore),请使用此评论中提供的 formatInIndianStyle:http://php.net/manual/en/function.number-format.php#40558

【讨论】:

以上是关于是否有任何 PHP 函数可以将数字转换为具有千位分隔符的货币?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用逗号将数字转换为千位分隔符? [复制]

将千位分隔符添加到任何数字,即使它包含特殊字符

将 K 格式的千位转换为常规的千位格式

在JAVA中从基础X转换为基础Y返回的不同于PHP中的相同函数

将布尔值转换为整数值php

是否有内置的 Javascript 函数可以将一个月的文本字符串转换为等值的数字?