我正在尝试将float变量显示为两位数的精度。假设变量是50.35,那么它就会显示出来。但是当变量为50.30时,它只显示50.3。无法显示50.30。
答案 0 :(得分:6)
尝试:
System.out.printf("%.2f\n", 50.30);
使用格式字符串告诉printf
以浮点格式打印数字,其中2为打印的小数位数。
Here您可以在printf
以及其他格式方法中找到包含受支持的转换器和格式标记的表格。
答案 1 :(得分:2)
您可以使用DecimalFormat。
DecimalFormat dformat = new DecimalFormat();
dformat.setMaximumFractionDigits(2);
System.out.println(dformat.format(decimalNumber));
答案 2 :(得分:1)
您的意思是要格式化浮点值。您可以使用
执行此操作 String text = String.format("%.2f", v);
或
System.out.printf("%.2f\n", 50.3); // prints 50.30
或使用DecimalFormat。
BTW请确保您使用的是double
,因为它的精确度高于float