function format_bi($value, $round = '2', $sf = '3') { if ($value < "0") { $neg = 1; $value = $value * -1; } $sizes = array('', 'k', 'M', 'G', 'T', 'P', 'E'); $ext = $sizes[0]; for ($i = 1; $i < count($sizes) && $value >= 1024; $i++) { $value = $value / 1024; $ext = $sizes[$i]; } if ($neg) { $value = $value * -1; } return format_number_short(round($value, $round), $sf) . $ext; }
/** * @dataProvider providerFormatNumberShort */ public function testFormatNumberShort($value, $sf, $result) { $this->assertSame($result, format_number_short($value, $sf)); }