如何在JPanel上显示double或float到只有两位小数

时间:2012-07-27 07:23:35

标签: java user-interface jframe jpanel

  

可能重复:
  Round a double to 2 significant figures after decimal point

我遇到一个问题,我想绘制一个包含double或float值的字符串,最多两个十进制值。使用System.out.Printf()很容易,但如何使用drawString

就像下面的语句一样计算要在JPanel上打开的数字。但实际显示的是一个字符串,其值最多为14位小数。我需要将显示限制为仅2位小数

double size= ((int)((((float) maxSize / (float) (40 * 1.0))*100.0))/100.0);

g.drawString("" + size, 135, 100 + range * i);

3 个答案:

答案 0 :(得分:4)

你必须使用java.text.DecimalFormat类。

String value= new DecimalFormat("#.##").format(number);

答案 1 :(得分:2)

 double inputNumber = 1.234567;
 DecimalFormat df = new DecimalFormat("#.##");
 String printValue = df.format(inputNumber));
 g.drawString(printValue);

答案 2 :(得分:1)

使用此... java.text.DecimalForamt

 DecimalFormat df = new DecimalFormat("#.##");
    decimal d = new decimal("10.2344");
    df.format(d);