我正在制作房地产门户网站。在该用户输入的属性值如 55,00,000 - 45,35,000 - 30,00,000等。 我的问题是,我想将这些值显示为 55 Lac(s) - 45.35 Lac(s) - 30 Lac(s)等等。请...告诉我,我怎样才能做到这一点。
由于
答案 0 :(得分:3)
你可以在php中使用money_format()
函数。 http://php.net/manual/en/function.money-format.php
要在窗口中使用money_format()
,如果您有Intl扩展名,则可以使用
http://de.php.net/manual/en/numberformatter.formatcurrency.php - 根据格式化程序规则格式化货币值。 手册中的示例
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
输出
1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.
另请参阅我的答案,了解如何将格式化的金钱字符串解析回浮点数:
答案 1 :(得分:1)
对于正常情况,money_format是理想的方式,但是你需要使用'Lac'格式。您需要在条件的基础上编写自己的代码。
首先从用户输入的金额中删除所有逗号。像那样
$number = str_replace(',', '', $number);
然后检查并制作必要的字符串。
if($number > 10000000)
{
$num = ((float)$number) / 10000000;
$num = $num.' Crore(s)'
}
else if($number > 100000)
{
$num = ((float)$number) / 100000;
$num = $num.' Lac(s)'
}
else if($number > 1000)
{
$num = ((float)$number) / 1000;
$num = $num.' Thousand(s)'
}
答案 2 :(得分:0)
答案 3 :(得分:0)
你可以使用这个功能
function formatInCurrencyStyle($num){
$pos = strpos((string)$num, ".");
if ($pos === false) {
$decimalpart="00";
}
if (!($pos === false)) {
$decimalpart= substr($num, $pos+1, 2); $num = substr($num,0,$pos);
}
if(strlen($num)>3 & strlen($num) <= 12){
$last3digits = substr($num, -3 );
$numexceptlastdigits = substr($num, 0, -3 );
$formatted = makeComma($numexceptlastdigits);
$stringtoreturn = $formatted.",".$last3digits.".".$decimalpart ;
}elseif(strlen($num)<=3){
$stringtoreturn = $num.".".$decimalpart ;
}elseif(strlen($num)>12){
$stringtoreturn = number_format($num, 2);
}
if(substr($stringtoreturn,0,2)=="-,"){
$stringtoreturn = "-".substr($stringtoreturn,2 );
}
return $stringtoreturn;
}
function makeComma($input){
if(strlen($input)<=2)
{ return $input; }
$length=substr($input,0,strlen($input)-2);
$formatted_input = makeComma($length).",".substr($input,-2);
return $formatted_input;
}
答案 4 :(得分:0)
使用number_format
:http://php.net/manual/en/function.number-format.php
$english_format_number = number_format($number, 2, '.', ',');
您还可以使用money_format
:http://php.net/manual/en/function.money-format.php
Note:
The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.
Note:
The LC_MONETARY category of the locale settings, affects the behavior of this function. Use setlocale() to set to the appropriate default locale before using this function.
答案 5 :(得分:0)
只需使用简单的方法
number_format(200000) // 200,000