【问题标题】:String returning a float with one decimal place返回带一位小数的浮点数的字符串
【发布时间】:2014-04-05 03:00:48
【问题描述】:

我正在尝试将我的小数格式化为仅显示一位小数。在我的测试程序中,我将 gpa 设置为 3.5454,它返回给我的值是 3.5454。如何将其格式化为显示 3.5。我尝试了下面的代码,但它不起作用。我也在我的 setGpa 方法中尝试过,但仍然没有运气

/**
 * This method return the student's gpa
 * @return This student's gpa
 */
public float getGpa(){
NumberFormat formatter= new DecimalFormat("#0.0");
formatter.format(gpa);
return gpa;
}

解决了! - 我只需要转换类型 (float) ((int)(gpa*10) / 10)

【问题讨论】:

  • 为家庭作业付出一点的努力。看看右边的一些相关问题。
  • 你希望它返回一个float(换句话说,你希望它四舍五入)?或者返回一个String(换句话说,你希望它被格式化)?

标签: java format decimal decimalformat


【解决方案1】:

您再次返回浮动。也许你想要

  • 将浮点数舍入而不是格式化
  • formatter.format(gpa)返回String

【讨论】:

    【解决方案2】:

    我认为你应该尝试以下解决方案

    public static String getGpa(){
        NumberFormat formatter= new DecimalFormat("#0.0");
        String format = formatter.format(gpa);
        return format;
        }
    

    【讨论】:

      【解决方案3】:

      解决了! - 我只需要输入(float) ((int)(gpa*10) / 10)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-08
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 2019-11-15
        • 2018-07-07
        • 1970-01-01
        相关资源
        最近更新 更多