функция — формат коротких чисел в PHP на индийской основе

Гуглил для Формат коротких чисел в PHP, получил тысячи рабочих результатов от StackOverflow, Github и т. д., но я не получил никаких результатов для Индийский формат.

Например:

В других странах: 1000 как 1к, 100000 как есть 100k, 10000000 как есть 10м

Но в Индии: 1000 как 1 К ИЛИ 1 Т, 100000 как есть 1L, 10000000 как есть 1c

Может ли кто-нибудь помочь мне сделать это?

-1

Решение

С помощью этого ответ

Я придумал решение для вас:

<?php
function indian_short_number($n) {
if($n <= 99999){
$precision = 3;
if ($n < 1000) {
// Anything less than a thousand
$n_format = number_format($n);
} else {
// At least a thousand
$n_format = number_format($n / 1000, $precision) . ' K';
}
/* Use this code if you want to round off your results
$n_format = ceil($n_format / 10) * 10;
if($n >= 1000){
$n_format = $n_format . ' K';
}
*/
return $n_format;
}
else{
$precision = 2;
if ($n > 99999 && $n < 9999999) {
// Anything more than a Lac and less than crore
$n_format = number_format($n / 100000, $precision) . ' L';
} elseif ($n > 999999) {
// At least a crore
$n_format = number_format($n / 10000000, $precision) . ' C';
}
/* Use this code if you want to round off your results
$n_format = ceil($n_format / 10) * 10;
if($n >= 10000 && $n < 10000000){
$n_format = $n_format . ' L';
}
elseif($n >= 1000000){
$n_format = $n_format . ' C';
}
*/
return $n_format;
}
}
echo indian_short_number(10000);
?>

Код для округления не является правильным. (За 18100 это округляет до 20 K вместо 19 K)

Буду благодарен, если кто-нибудь из посетителей отредактирует ответ с исправлением.

Надеюсь, это поможет вам.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]