除以两个 'int' 数字时 'double' 答案不正确
Incorrect 'double' answer when dividing two 'int' number
我是 Java 的新手,正在尝试学习 int 和 double 的基本概念。有人可以告诉我,当我 运行 程序时,为什么打印出 0.0 而不是 0.3333333?
int i = 1;
int j = 3;
double k = i / j;
System.out.println(k);
因为您正在进行整数除法,这会将结果截断为整数。
您需要将其中一个转换为双精度。
double k = i / (double)j;
改变
double k = i / j;
至
double k = (double)i / (double)j;
您需要先将其中一个操作数强制转换为double
,然后再将它们相除。
您不能将两个整数相除并期望得到一个双精度值。
将它们声明为 double
s 以开始或转换它们。
double k = (double)i / (double)j
//or
double i = 1;
double j = 3;
double k = i / j;
我是 Java 的新手,正在尝试学习 int 和 double 的基本概念。有人可以告诉我,当我 运行 程序时,为什么打印出 0.0 而不是 0.3333333?
int i = 1;
int j = 3;
double k = i / j;
System.out.println(k);
因为您正在进行整数除法,这会将结果截断为整数。
您需要将其中一个转换为双精度。
double k = i / (double)j;
改变
double k = i / j;
至
double k = (double)i / (double)j;
您需要先将其中一个操作数强制转换为double
,然后再将它们相除。
您不能将两个整数相除并期望得到一个双精度值。
将它们声明为 double
s 以开始或转换它们。
double k = (double)i / (double)j
//or
double i = 1;
double j = 3;
double k = i / j;