私は不動産ポータルを作成しています。その中で、ユーザーは 55,00,000 - 45,35,000 - 30,00,000 などのプロパティ値を入力しています。私の質問は、これらの値を 55 Lac(s) - 45.35 Lac(s) - 30 Lac(s) などとして表示したいということです。
ありがとう
私は不動産ポータルを作成しています。その中で、ユーザーは 55,00,000 - 45,35,000 - 30,00,000 などのプロパティ値を入力しています。私の質問は、これらの値を 55 Lac(s) - 45.35 Lac(s) - 30 Lac(s) などとして表示したいということです。
ありがとう
money_format()
phpで関数を使用できます。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р.
また、そのフォーマットされたお金の文字列を解析してフロートに戻す方法についての私の回答も参照してください。
通常の場合、 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)'
}