60000 を 60k に、または 60100 を 60.1k に変換する関数があります。
しかし、たとえば 60123 を入力すると、60.123k が出力されます。
number_format のように切り上げずに 60.1k を出力するにはどうすればよいですか。
編集:変換を行う私の関数は次のとおりです
function format($val) {
$letter = "";
while ($val >= 1000) {
$val /= 1000;
$letter .= "K";
}
$letter = str_replace("KKKK", "000B", $letter);
$letter = str_replace("KKK", "B", $letter);
$letter = str_replace("KK", "M", $letter);
return $val.$letter;
}
これが私がエコーアウトするために入れたものです
echo format(1)."<br>";
echo format(123548)."<br>";
echo format(1000000)."<br>";
echo format(1000000000)."<br>";
echo format(1200000000)."<br>";
出力は次のとおりです。
1
123.548K
1M
1B
1.2B
123.548Kの場合は「123.5K」にしたい