在Android中用RX将字节转换为KB,MB,GB,TB,...

问题描述 投票:-1回答:2

例如,我有这个值5465881,我如何将这个byte转换为KB,MB,GB,TB,...与RX在android?

android rx-java rx-java2 rx-android
2个回答
1
投票

您可以在Formatter类中使用android.text.format.Formatter.formatFileSize或类似方法:

https://developer.android.com/reference/android/text/format/Formatter.html#formatFileSize(android.content.Context,%20long)


0
投票

您可以使用此方法

public static String formatSize(long size) {
    if (size <= 0) return "0";
    final String[] units = new String[]{"B", "kB", "MB", "GB", "TB"};
    int digitGroups = (int) (Math.log10(size) / Math.log10(1024));
    return new DecimalFormat("#,##0.#").format(size / Math.pow(1024, digitGroups)) + units[digitGroups];
}


formatSize(5465881) returns -> 5.2MB
© www.soinside.com 2019 - 2024. All rights reserved.