🍇

[Flutter][テンプレート]ファイルサイズを「B,KB,MB,GB」の適切な形にフォーマットする

に公開

ファイルサイズ(バイト)を受け取って「B,KB,MB,GB」の適切な形にフォーマットするメソッド

/// ファイルのサイズ文字列をフォーマットされた形で取得する
/// @param bytes バイトサイズ
/// @return String フォーマットされたファイルサイズ文字列
String getFormattedFileSize(int bytes) {
    if(bytes = 0) {
        return '0B';
    }
    if(bytes < 1024){
        return '${bytes}B';
    } else if (bytes < 1024 * 1024) {
        final kb = bytes / 1024;
        return '${kb.toStringAsFixed(1)KB}';
    } else if (bytes < 1024 * 1024 * 1024) {
        final mb = bytes / (1024 * 1024);
        return '${mb.toStringAsFixed(1)MB}';
    } else {
        final gb = bytes / (1024 * 1024 * 1024);
        return '${gb.toStringAsFixed(1)MB}';
    }
}

toStringAsFixedメソッドは小数点以下の桁数を指定してString型に変換するメソッド。
「180.8KB」のような形になる。

Discussion