Ich habe eine Methode, um die Größe einer App zu bekommen. Aber das Problem ist Ich bekomme immer 0,00 Wert nach dem Komma.Android - Double-Wert gibt immer 00 nach Dezimal
Angenommen, die Größe eines App ist 3,44
Also, wenn ich dann meine Methode aufrufen, wird es einen Wert von 3,00 Und zurückkehren, wird es für jede Anwendung gleich. Wenn die Größe einer App weniger als 1 MB beträgt, dann bekomme ich 0,00. Bitte hilf mir. Hier ist meine Methode
private String getAppsSize() {
File cApp;
DecimalFormat cDFormat = new DecimalFormat("#.##");
double appSizeInMegaBytes;
String formattedText = null;
try {
cAInfo = cPManager.getApplicationInfo(getCurrentAppPackageName(), 0);
cApp = new File(cAInfo.publicSourceDir);
appSizeInMegaBytes = cApp.length()/1048576;
cDFormat.format(appSizeInMegaBytes);
formattedText = Double.toString(appSizeInMegaBytes);
}
catch (PackageManager.NameNotFoundException e) {
showToast("Failed to count app size!");
e.printStackTrace();
}
return formattedText;
}
Hier habe ich eine Methode getCurrentPackageName(). Es verursacht keinen Fehler. Weil ich es woanders benutze. Es funktioniert gut. So, jetzt weiß ich nicht, wo mein Problem auftritt ...
Ok, es funktioniert. Aber ich bekomme viel Wert nach dem Komma. Wenn ich jetzt die Methode anrufe, bekomme ich 3.0256983 (Beispiel). Aber, ich möchte die letzten zwei Ziffern nur nach dem Dezimal –
Ok, danke. Ich habe meine Lösung. –