Java преобразует ГБ, МБ, КБ и байт, чтобы удвоить с точностью - PullRequest
0 голосов
/ 13 ноября 2011

Я загружаю файлы разных размеров и, например,
показываю удобный для пользователя вывод относительно размера файла.

Я пробовал это:

double line= (totalBytes/(1024*1024));
DecimalFormat dec = new DecimalFormat("0.00");
String result = dec.format(line);
result = result.concat("MB");

Это работает только при размересоставляет около одного МБ.Если размер 1200000 байт, я получаю «1,2 МБ».
Но как сделать его динамическим, если, скажем, размер файла составляет 46 байт.

ОБНОВЛЕНИЕ Как показать размер 46 байтнапример 0,000046 МБ или 500 КБ, например 0,5 МБ.
Это нужно делать на лету.Я хочу, чтобы удобный вывод всегда показывал X.XMB
независимо от того, сколько байтов.

Ответы [ 2 ]

3 голосов
/ 13 ноября 2011

Самое простое решение - проверить, является ли число большим или меньшим, чем коэффициент, и соответственно применить деление.

Так

if (totalBytes < 1024){

 //bytes
}else if (totalBytes < 1024*1024){
 //kilobytes

} //etc
1 голос
/ 13 ноября 2011

Конечно, вам понадобится

double line= ((double)totalBytes/(1024*1024));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...