我有这个功能正常。但如果说值为null,那么我希望它显示0而不是“”空白。我向0 => "0"
添加了$abbrevs
,但我没有得到预期的结果。
我的功能:
function numberConvert($number) {
$abbrevs = array(12 => "T", 9 => "B", 6 => "M", 3 => "K", 0 => "");
foreach($abbrevs as $exponent => $abbrev) {
if($number >= pow(10, $exponent)) {
$display_num = $number / pow(10, $exponent);
$decimals = ($exponent >= 3 && round($display_num) < 100) ? 1 : 0;
return number_format($display_num,$decimals) . $abbrev;
}
}
}
有人可以提出解决方案吗?
答案 0 :(得分:-1)
当10被提升到任何数字时,结果总是不为0(任何数字和任何有限幂都是如此),所以没有机会0 >= pow(10,$exponent)
function numberConvert($number) {
$abbrevs = array(12 => "T", 9 => "B", 6 => "M", 3 => "K", 0 => "");
foreach($abbrevs as $exponent => $abbrev) {
if($number >= pow(10, $exponent)) {
$display_num = $number / pow(10, $exponent);
$decimals = ($exponent >= 3 && round($display_num) < 100) ? 1 : 0;
return number_format($display_num,$decimals) . $abbrev;
}
}
return number_format(is_numeric($display_num)?$display_num:0,0); //Not returned yet? Fall back to this.
}