我很尴尬地问这个问题,但是在45分钟没有找到解决方案后,我将诉诸于公开羞辱。
我有一个被另一个数字除的数字,我将该数字存储在一个双变量中。这些数字是随机生成的,但是调试应用程序会显示这两个数字实际上都是生成的。
让我们说数字是476&然后我取数字并除以得到百分比476/733 = .64
然后我打印出变量,它总是设置为0.我尝试过使用DecimalFormat和NumberFormat。无论我尝试什么,它总是说变量是0.我知道有一些简单的我缺少,我只是找不到它= /。
答案 0 :(得分:10)
我想你正试图做这样的事情:
int x = 476;
int y = 733;
double result = x / y; // result == 0
这里的问题是你正在执行整数除法,给出答案0,然后将结果转换为double。您需要在分割之前将一个或两个数字转换为浮点数。这是一种方法:
int x = 476;
int y = 733;
double result = ((double)x) / y;
答案 1 :(得分:0)
我认为正在划分的2个数字是“双”类型?
您是否使用调试模式查看除法的结果?