Формат коротких чисел в PHP на индийской основе

Погуглил Short Number Format in PHP, получил тысячи рабочих результатов от StackOverflow, Github и т. д., но не нашел ничего для Indian Format.

Eg:

В других странах: 1000 равно 1k, 100000 соответствует 100k, 10000000 соответствует 10m.

Но в Индии: 1000 — это 1k ИЛИ 1T, 100000 — это 1L, 10000000 — это 1c.

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


person DCN    schedule 03.12.2017    source источник
comment
Почему бы вам не настроить код и не попробовать что-нибудь и не связаться с нами, когда что-то не работает после того, как вы попробуете   -  person Mehravish Temkar    schedule 03.12.2017
comment
@MehravishTemkar У меня возникают проблемы с кодированием 1c, так как индийский формат 00,00,000   -  person DCN    schedule 03.12.2017


Ответы (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)

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

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

person Chirag Jain    schedule 03.12.2017