我可以用system。out。print吗?
当前回答
float floatValue=22.34555f;
System.out.print(String.format("%.2f", floatValue));
输出是22.35。 如果需要3个小数点,则将其更改为“%.3f”。
其他回答
public String getDecimalNumber(String number) {
Double d=Double.parseDouble(number);
return String.format("%.5f", d);
}
还要注意NumberFormatException
只需执行String str = System.out.printf("%。2 f”,val)。取代 (",", ".");如果你想确保独立于用户的Locale,你将总是得到/显示一个"."作为小数分隔符。这是必须的,如果你不想让你的程序崩溃,如果你以后做一些转换,如float f = float . parsefloat (str);
很多人都提到过DecimalFormat。但是如果你有最新版本的Java,你也可以使用printf:
System.out.printf("%1.2f", 3.14159D);
有关printf格式字符串的更多信息,请参阅Formatter上的文档。
看看DecimalFormat
下面是教程中的一个例子:
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output);
如果你选择像“###”这样的图案。##”,你会得到两位小数点后,我认为值是四舍五入。你会想要查看链接以获得你想要的确切格式(例如,你是否想要后面的零)
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));