-3

我可以以 MB 为单位显示应用程序包的大小,但我的十进制数字太多..

 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

?

4

3 回答 3

0

像这样的东西不会起作用吗?

String.format("%.1f", sizeInMb);
于 2013-11-06T16:23:47.310 回答
0

这应该将双精度格式设置为两位小数。

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

詹姆士

于 2013-11-06T16:26:40.693 回答
0

类似的东西怎么样:

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

结果输出为“123.4”

您可以将其调整为您的代码。

于 2013-11-06T16:32:35.453 回答