我需要计算整数和长整数的概率。但我总是得到0。
int a = 234;
长b = 123453344L
浮动c = a / b;
如何在Java中正确使用它?
答案 0 :(得分:5)
您需要将其中一个投射为float
,或者从一开始就将其中一个变量声明为float
。否则,Java的整数除法接管,并且int
除以int
必须是int
,这也适用于long
。
float c = (float) a / b;
答案 1 :(得分:2)
您正在使用整数数学,然后将结果存储在浮点数中。
float c = ((float)a) / b;
会给你一个浮动,但使用双打会更精确。
或使用BigDecimal
BigDecimal d = new BigDecimal(a).Divide(new BigDecimal(b));
答案 2 :(得分:2)
在非十进制值(整数和浮点数)之间进行除法,然后结果将不是十进制,然后它被转换为浮点数,但十进制信息已经丢失。
你可以在整个操作中使用十进制类型(float,double,BigDecimal),也可以在使用之前转换它们。
float a = 234;
float b = 123453344L;
float c = a/b;
或
int a = 234;
long b = 123453344L;
float c = (float) a/b;
我希望这有帮助。
答案 3 :(得分:0)
这是实现此目标的另一种方法:
float c = a.floatValue()/ b.floatValue();