Код ActionScript для преобразования байтов в kb, mb, gb и т. Д.

У меня есть служебная функция, которая отображает размер файла в соответствующей форме, как это делает Windows Explorer, т.е. преобразовать его в ближайший КБ, МБ, ГБ и т. д. Я хотел знать, правильный ли код, который я написал, и можно ли его сделать проще.

Я написал следующую функцию:

public static function formatFileSize(bytes:int):String
    {
        if(bytes < 1024)
            return bytes + " bytes";
        else
        {
            bytes /= 1024;
            if(bytes < 1024)
                return bytes + " Kb";
            else
            {
                bytes /= 1024;
                if(bytes < 1024)
                    return bytes + " Mb";
                else
                {
                    bytes /= 1024;
                    if(bytes < 1024)
                        return bytes + " Gb";
                }
            }
        }
        return String(bytes);
    }

Хотя это и работает эта работа для меня на данный момент, я чувствую, что ее можно было бы написать еще проще и, возможно, даже оптимизировать.

заранее спасибо

5
задан JeffryHouser 27 April 2011 в 14:44
поделиться