【问题标题】:Android size package decimals (java)Android大小包小数(java)
【发布时间】:2013-11-17 23:51:21
【问题描述】:

我可以以 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

?

【问题讨论】:

    标签: java android size package-managers maxlength


    【解决方案1】:

    这样的东西不可行吗?

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

    【讨论】:

    • 我尝试将您的代码放在physicalsize.setText(""+sizeInMb); 之前,但不起作用:(
    • 你必须这样做:physicalsize.setText(String.format("%.1f", sizeInMb));
    【解决方案2】:

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

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

    詹姆斯

    【讨论】:

      【解决方案3】:

      这样的事情怎么样:

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

      结果输出为“123.4”

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-30
        • 1970-01-01
        • 2011-10-07
        • 2020-08-25
        • 1970-01-01
        • 2013-01-05
        • 2020-03-29
        • 2016-03-19
        相关资源
        最近更新 更多