可能重复:
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);
答案 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);