我有一个数据库,其中的列包含数字格式的值,例如:
5,000 for 5k
86,600 for 86.6k
4,100,000 for 4.1m
在浏览器中显示时,它应显示为5k为5000,86.6k为86,600等。我需要php中的代码。如果有任何内置功能,请提及它。
答案 0 :(得分:2)
如果您将它们作为数字,则可以直接使用此功能。
function formatValue($size, $precision = 1)
{
static $suffixes = array('', 'k', 'm');
$base = log($size) / log(1000);
return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}
如果您没有将它们作为数字,请使用PHP: unformat money
对于您的特殊情况,您可能会使用一些脏的黑客,但如果您有更多特殊情况,我不推荐它。
function formatValue($size, $precision = 1)
{
static $suffixes = array('', 'k', 'm');
$base = log($size) / log(1000);
if ($base >= 5/3 && $base < 2) {
return round(pow(1000, $base - floor($base)) / 100, $precision) . 'lakh';
}
return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}