#android #rx-java #rx-java2 #rx-android
#Android #rx-java #rx-java2 #rx-android
Вопрос:
Например, у меня есть это значение 5465881
, как я могу преобразовать его byte
в КБ, МБ, ГБ, ТБ, … с RX
помощью Android?
Комментарии:
1. Как это связано с RX?
Ответ №1:
Вы можете использовать android.text.format.Formatter.formatFileSize
или аналогичный метод в классе форматирования:
Ответ №2:
Вы можете использовать этот метод
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
Комментарии:
1. небезопасная функция! Crashlytics сообщил:
Fatal Exception: java.lang.ArrayIndexOutOfBoundsException length=5; index=319302040