在java中,舍入一个两位数到三位数的小数位,但第三位的零消失
我想用java将我的双精度小数四舍五入到小数点后3位在java中,舍入一个两位数到三位数的小数位,但第三位的零消失,java,Java,我想用java将我的双精度小数四舍五入到小数点后3位 我不想删掉零。因此,如果我的double是2.34,我仍然希望它是2.340。使用以下十进制格式:0.000使用以下十进制格式:0.000 或者如果你想打印 System.out.printf( "%.3f",2.34); 或者如果你想打印 System.out.printf( "%.3f",2.34); 根据Tony Ennis的评论,如果不将浮点变量转换为10进制,则无法将其舍入到特定的小数位数或数字。这就是上面的答案所做的,他们也在
我不想删掉零。因此,如果我的double是2.34,我仍然希望它是2.340。使用以下十进制格式:0.000使用以下十进制格式:0.000 或者如果你想打印
System.out.printf( "%.3f",2.34);
或者如果你想打印
System.out.printf( "%.3f",2.34);
根据Tony Ennis的评论,如果不将浮点变量转换为10进制,则无法将其舍入到特定的小数位数或数字。这就是上面的答案所做的,他们也在将其转换为可显示文本。根据Tony Ennis的评论,如果不将浮点变量转换为10进制,则无法将其四舍五入到特定的小数位数或数字。这就是上面的答案所做的,他们还将其转换为可显示的文本。使用和 使用及
@prashant请注意,数字在计算机中的存储方式和显示方式存在差异。这个答案和keshu的答案显示了如何显示尾随0的数字。它实际上不是那样存储的,但这并不重要。@prashant没有意识到数字在计算机中的存储方式和显示方式有区别。这个答案和keshu的答案显示了如何显示尾随0的数字。它实际上不是那样存储的,但那并不重要
DecimalFormat myFormatter = new DecimalFormat("0.000");
String output = myFormatter.format(2.34d);
final DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(3);
df.setRoundingMode(RoundingMode.HALF_UP);
df.format(2.34);