当我在Java中除法时,我丢失了十进制数,如何显示它?
当我这么做的时候当我在Java中除法时,我丢失了十进制数,如何显示它?,java,Java,当我这么做的时候 double money = 2.3452; DecimalFormat decFor = new DecimalFormat("0.00"); System.out.println(decFor.format(money)); 我得到这个输出:2.35 但当我这么做的时候 double money = 1/8; DecimalFormat decFor = new DecimalFormat("0.00"); System.o
double money = 2.3452;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));
我得到这个输出:2.35
但当我这么做的时候
double money = 1/8;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));
我得到:0.00
如何使Java向您显示0.12而不是0.00?您需要转换为双精度。在整数除法中,结果的小数部分被丢弃
double money = (double)1/8;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));
这样做:
double money = 1.0 / 8;
问题是取整数1除以整数8。然后,Java使用整数数学,将其截断为0。如果显式使用1.0,则它将使用浮点除法