PHP印度语中的短数字格式

时间:2017-12-03 16:00:27

标签: php function helper short

用PHP搜索短数字格式,从StackOverflow,Github等获得了数千个工作结果。但是我没有得到印度格式

例如:

在其他国家/地区:1000为1k, 100000 100k 10000000 10m < / p>

但在印度:1000为1k OR 1T, 100000 1L 10000000 1c

任何人都可以帮我这么做吗?

1 个答案:

答案 0 :(得分:1)

借助此answer

我想出了一个解决方案:

<?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

如果任何访问者通过修复它来编辑答案,我将感激不尽。

希望它对你有所帮助。