将字节转换为KB、MB、GB、TB等。。。在android中使用RX

将字节转换为KB、MB、GB、TB等。。。在android中使用RX,android,rx-java,rx-java2,rx-android,Android,Rx Java,Rx Java2,Rx Android,例如,我有这个值5465881,如何将这个byte转换为KB、MB、GB、TB等。。。使用android中的RX?您可以使用android.text.format.Formatter.formatFileSize或Formatter类中的类似方法: 您可以使用此方法 public static String formatSize(long size) { if (size <= 0) return "0"; final String[] units = new String

例如,我有这个值
5465881
,如何将这个
byte
转换为KB、MB、GB、TB等。。。使用android中的
RX

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


您可以使用此方法

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
publicstaticstringformatsize(长){
如果(大小为5.2MB

这与RX有什么关系?不是一个安全的函数!Crashlytics报告:
致命异常:java.lang.ArrayIndexOutOfBoundsException长度=5;索引=319302040