2016-03-11 100 views
-1

在我的代碼中,我從數據庫輸出一個數字,數字以MB爲單位。將MB nunber轉換爲GB或TB

因此,例如我正在獲得硬盤大小和可用空間。

是這樣的:

C: CAP 1141919 
C: FREE 487205 

我所試圖做的是那些數字轉換要麼TB或GB

輸出將如下所示:

C: CAP 1.141919TB 
C: FREE 487.205GB 

而且我越希望將輸入降至兩位小數。

C: CAP 1.14TB 
C: FREE 487.20GB 

我已經嘗試了幾個不同的功能但大多數人想在字節數,這是我沒有找到一種方法,數量從MB轉換,然後給B GB,但我遇到了與結核病的一個問題,也可以確定有一種方法可以一步完成。

任何幫助,將不勝感激。

+0

多少兆字節千兆字節? –

回答

0
function convert($size) 
{ 
    $filesizename = array(" MB", " GB", " TB"); 
    $size = round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i]; 
    return $size; 
} 

$test = convert(4000); 
    echo $test; //produces 3.91 GB 
0

另一種變體:

function convertMB($mb) { 
    $mb = floatval($mb)/1024.0; 
    return ($mb < 1024) ? (number_format($mb, 2).'GB') : (number_format($mb/1024.0, 2).'TB'); 
} 
0

設置小數點由number_format功能:

$number = number_format($number, 2); // 2 is decimal points