我可以用system。out。print吗?
当前回答
我建议使用String.format()如果你需要值作为字符串在你的代码。
例如,你可以这样使用String.format():
float myFloat = 2.001f;
String formattedString = String.format("%.02f", myFloat);
其他回答
下面是如何在Java中显示带有2位小数的浮点数据输出的代码:
float ratingValue = 52.98929821f;
DecimalFormat decimalFormat = new DecimalFormat("#.##");
float twoDigitsFR = Float.valueOf(decimalFormat.format(ratingValue)); // output is 52.98
看看DecimalFormat
下面是教程中的一个例子:
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output);
如果你选择像“###”这样的图案。##”,你会得到两位小数点后,我认为值是四舍五入。你会想要查看链接以获得你想要的确切格式(例如,你是否想要后面的零)
在Java中输出小数点后2位的浮点数:
float f = (float)11/3;
System.out.print(String.format("%.2f",f));
输出:3.67
>使用%。3f表示小数点后三位。
一个简单的技巧是生成一个更短的变量,将其与100相乘,四舍五入,然后再除以100.0。这样你就生成了一个小数点后2位的变量:
double new_variable = Math.round(old_variable*100) / 100.0;
这个“廉价的技巧”对我来说已经足够好了,并且适用于任何语言(我不是Java人,只是学习它)。
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));