这似乎是一个非常简单的错误:
double quarter = 1/4;
正在给予
0.0
有人知道为什么会这样吗?
我试图存储几乎所有从1/2到1/20的分数(仅存储在顶部为1而在底部为int的那些),所以我将无法立即输入小数对于所有的人。
我已经阅读并听说浮点数据类型不是存储分数的好方法,所以还有其他方法](在Java中吗?
这似乎是一个非常简单的错误:四分之一= 1/4;给0.0有人知道为什么会这样吗?我正在尝试存储从1/2到1/20的几乎所有分数(只是...
尝试:
对于初学者,您正在尝试将1/4
除以整数值,并将其截断。 1. / 4
会正确地给您0.25
;将数字1
表示为double
的其他方式包括1d
,1.0
等。
Java正在执行整数除法,因为您的分母是整数。
之所以得到0.0,是因为除法是作为整数除法,然后将结果转换为float。试试这个,例如:double quarter = 1 / 4.0;
-您应该(几乎)获得预期的结果。