【问题标题】:Cannot output formatted double in Java无法在 Java 中输出格式化的双精度
【发布时间】:2010-03-31 02:35:49
【问题描述】:

这是我的工作:

double x = 7.0;  
System.out.printf("%.2f", x);

Eclipse 给我这个错误“PrintStream 类型中的方法 printf(String, Object[]) 不适用于参数 (String, double)”

【问题讨论】:

  • 为我工作;你试过干净的构建吗?

标签: java eclipse


【解决方案1】:

您使用的是早于 1.5 的 Java 版本吗?或者可能是 Eclipse 中较旧的编译器合规性设置? (例如 1.4)事实上,我很确定这是原因 - 我刚刚将合规性设置切换到 1.4,我得到了和你一样的错误。

检查项目的编译器合规性设置:

  • 选择项目
  • 右键单击并选择属性
  • 转到“Java 编译器”
  • 更改您的编译器合规性并确保您使用的是该版本或更高版本的 JRE

这将在您使用 Java 1.5 或更高版本时起作用,因为 printf 方法是在 1.5 中添加的。

【讨论】:

    【解决方案2】:

    我运行了以下,我似乎没有这个问题。您是从 Eclipse 的代码检查中还是从 Java 编译器中收到错误?

    public class TestDouble {
      public static void main(String[] args) {
         double x = 7.0;
         System.out.printf("%.2f", x);
      }
    }
    

    这也将起作用,并且可能会阻止 Eclipse 抱怨:

    public class TestDouble {
      public static void main(String[] args) {
         double x = 7.0;
         System.out.printf("%.2f", new Double(x));
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多