2013-11-06 3 views
-3

я могу отображать размер пакета приложения в МБ, но я слишком много десятичных чисел ..Android десятичный пакет размера (Java)

ApplicationInfo appInfo = packageInfo.applicationInfo; 

     try{ 
      File file = new File(appInfo.sourceDir); 
      double sizeInBytes = file.length(); // size in Byte 
      double sizeInMb = sizeInBytes/(1024 * 1024); 
      physicalsize.setText(""+sizeInMb); 
     } catch(Exception e) { 
      //e.printStackTrace(); 
     } 

Как я могу иметь только 2 знаков после запятой, как:

4.3 MB instead 4.35652148952 

?

ответ

0

Не было бы чем-то вроде этой работы?

String.format("%.1f", sizeInMb); 
+0

Я попытался поставить ваш код до 'physicalsize.setText (" "+ sizeInMb);' но не работает :( –

+1

Вы должны сделать это следующим образом: physicalsize.setText (String.format ("%. 1f", sizeInMb)); –

+0

Ей это работает, спасибо! –

0

Это должно отформатировать двойное на два десятичных знака.

DecimalFormat df = new DecimalFormat("#.00"); 
physicalsize.setText(df.format(sizeInMb)) 

Джеймс

0

Как о чем-то вдоль линий:

double a = 123.4567; 
double roundOff = Math.round(a * 10.0)/10.0; 

Полученный выход "123,4"

Вы можете просто приспособить это к коду.

Смежные вопросы