用PHP搜索短数字格式,从StackOverflow,Github等获得了数千个工作结果。但是我没有得到印度格式
例如:
在其他国家/地区:1000为1k, 100000 为 100k , 10000000 为 10m < / p>
但在印度:1000为1k OR 1T, 100000 为 1L , 10000000 为 1c
任何人都可以帮我这么做吗?
答案 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
)
如果任何访问者通过修复它来编辑答案,我将感激不尽。
希望它对你有所帮助。