当前位置: 首页 > 知识库问答 >
问题:

如何打印小数点后最多2位数字?

丁鸿云
2023-03-14

我在打印格式上有一个小问题。如果数字不是整数,我想打印小数点后的2位数字(例如55.53467-

我拥有的代码是:

public String toString() {

    return String.format("%+.2f%+.2fX%+.2fX^2%+.2fX^3%+.2fx^4", this.A0.getCoefficient()
                                                              , this.A1.getCoefficient()
                                                              , this.A2.getCoefficient()
                                                              , this.A3.getCoefficient()
                                                              , this.A4.getCoefficient());
}

当然,它总是打印两位数。非常感谢

共有2个答案

窦哲彦
2023-03-14

在这种情况下,我将用DecimalFormat“0.0#”(#说:只有设置如果不是零)格式化浮点数到String-Vars并将结果传递给函数String.format.

越文康
2023-03-14

您可能希望利用DecimalFormat,例如:

public static String format(double num, double places) {
    String format = "#.";
    for(int i=0; i<places; i++) format += "0";
    DecimalFormat df = new DecimalFormat(format);
    return df.format((int)(num * Math.pow(10, places)) / (double) Math.pow(10, places));
}

然后您可以使用它到任何小数点:

System.out.println(format(1, 2)); // 1.00
System.out.println(format(234, 2)); // 234.00
System.out.println(format(-55.12345, 2)); // -55.12
System.out.println(format(7.2, 2)); // 7.20
 类似资料:
  • 我可以用< code>System.out.print来做吗?

  • 问题内容: 我想格式化最多不超过2个小数位的浮点数列表。但是,我不想尾随零,也不想尾随小数点。 因此,例如=> ,=> ,=> ,=> 。 简单的解决方案是。但是,这看起来很丑陋,而且看起来很脆弱。还有更好的解决方案,也许带有一些神奇的格式标志? 问题答案: 您需要将和剥离分开;这样你永远不会剥夺自然。 或者,使用函数,但这实际上归结为同一件事: 一些测试:

  • 在我的应用程序中,我处理的货币需要最多两个小数点位数,我使用了数字格式化程序来显示最多两个小数点位数,但当我想要这个双倍值像0.7到0.70时,我不能这样做,键入double总是给我0.7但我想要0.7到0.70

  • 我试图打印小数点后的数字,但我只想显示一个数字。 (当比率是双倍和比较时,是)。 我在一个类中进行计算,并将结果添加到一个< code>string(当稍后从一个方法返回时),并在一个测试类中进行打印。 我需要更改比率,并且不允许在测试类中使用。 谢谢你的帮助。

  • 我有一个,我希望将用户的输入限制为纯数字或小数最多2位的数字。 基本上,我要求的是一个价格输入。 我想避免做正则表达式。有办法做到吗?

  • 我对java相当陌生,我必须创建这个程序,我不知道从哪里开始。有人能帮我做什么,以及如何写代码开始吗? 编写一个模拟收银机的程序。提示用户输入三件商品的价格。将它们相加以获得小计。确定小计的税额(6%)。查找销售小计加税额的总额。显示每件商品的价格、小计金额、税额和最终金额。 到目前为止,我有这个: 输出(如果价格为price1=1.65,price2=2.82和price3=9.08美元)如下所