Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我在Java中除法时,我丢失了十进制数,如何显示它?_Java - Fatal编程技术网

当我在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,则它将使用浮点除法