十进制格式不能将值限制为两位小数

时间:2018-10-24 17:52:03

标签: java swing user-interface decimalformat

我正在编写一个Java gui程序,该程序可以转换不同的度量单位。我想将结果的输出限制为两位小数,所以它看起来更整洁,但是我一直在努力使其工作。下面是我的代码,请有人帮忙。

*ngIf

我是编程新手,所以如果您能解释一下为什么此代码不起作用,那么将不胜感激。我的输出当前太多小数位,我只需要2个小数位。

1 个答案:

答案 0 :(得分:2)

  

我是编程新手

因此,您需要学习的第一件事是如何简化问题。

  

我想将结果的输出限制为两位小数,这样看起来更整洁

因此,请忽略应用程序的其余部分,并学习如何做到这一点:

double value =  123.45678;
DecimalFormat decFormat = new DecimalFormat("0.00");
String formatted = decFormat.format(value);
System.out.println( formatted );
  

我正在编写一个Java gui程序,该程序可以转换不同的度量单位。

那与您的问题无关。从上面的示例可以看到,您首先使用硬编码数据测试了一个新概念。

一旦工作,那么您就担心数学计算会动态获得要格式化的“值”。

  

我的输出当前小数位数过多

label.setText(Double.toString(result));
DecimalFormat decFormat = new DecimalFormat("0.00");
decFormat.format(result);

您看到上面的代码有问题吗?

  1. 在格式化结果之前设置标签的文本
  2. 您不要将带格式的文本分配给变量,以使最后一条语句不起作用。