编辑:下面的函数现在正确地缩写,实现了@Asad的解决方案
嗨,我目前正在研究一个类似的按钮,我已经完成了所有的基本功能,但是我已经启动了数字缩写代码并打了一堵墙,因为我无法弄清楚如何使缩写更精确.
我有一个号码,例如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; } } }
提前致谢!
如果要保留小数位,请使用floatval而不是intval:
return round(floatval($value / pow(10,$exponent)),1).$abbreviation;
获取浮点表示并舍入到小数点后1位.