【发布时间】:2012-10-24 13:05:28
【问题描述】:
编辑:下面的函数现在可以正确地缩写,实现了@Asad 的解决方案
您好,我目前正在开发一个like 按钮,我的所有基本功能都运行良好,但是我已经开始使用数字缩写代码并碰壁,因为我不知道如何使缩写更精确。
我有一个号码,例如1000、1230、1500、154000、1500000、1000000
我想用缩写来格式化它们。即
如果是一千,那么 1k、1.1k、2k、10k、10.5k 等等......
数万、数十万、数百万等等……
目前我有以下功能,但不够具体:
function abreviateTotalCount($value)
{
$abbreviations = array(12 => 'T', 9 => 'B', 6 => 'M', 3 => 'K', 0 => '');
foreach($abbreviations as $exponent => $abbreviation)
{
if($value >= pow(10, $exponent))
{
return round(floatval($value / pow(10, $exponent))).$abbreviation;
}
}
}
提前致谢!
【问题讨论】:
-
这是一个很好的解决方案,“不够具体”是什么意思?
-
您当前的代码有什么问题?不行吗?
-
@Asad 嗨,不幸的是,它只返回我想要的缩写的完整版本。即 1k、2k,但中间没有
-
不清楚你想要什么。如果你有1234567890,你要返回“1.23456789B”吗?
-
@pedrosorio 嗨,它在描述中:如果是一千,那么 1k、1.1k、2k、10k、10.5k 等等......
标签: php function math exponent