Java 如何将两个long分开并获得值?

Java 如何将两个long分开并获得值?,java,Java,我需要计算一个整数和一个长整数的概率。但我总是得到0 INTA=234 长b=123453344L 浮点数c=a/b 如何在Java中正确使用它?您需要将其中一个变量强制转换为float,或者从一开始就将其中一个变量声明为float。否则,Java的整数除法就会接管,就像int除以int必须是int,这也适用于长的 float c = (float) a / b; 您需要将其中一个变量强制转换为float,或者从一开始就将其中一个变量声明为float。否则,Java的整数除法就会接管,就像in

我需要计算一个整数和一个长整数的概率。但我总是得到0

INTA=234
长b=123453344L

浮点数c=a/b


如何在Java中正确使用它?

您需要将其中一个变量强制转换为
float
,或者从一开始就将其中一个变量声明为
float
。否则,Java的整数除法就会接管,就像
int
除以
int
必须是
int
,这也适用于
长的

float c = (float) a / b;

您需要将其中一个变量强制转换为
float
,或者从一开始就将其中一个变量声明为
float
。否则,Java的整数除法就会接管,就像
int
除以
int
必须是
int
,这也适用于
长的

float c = (float) a / b;

您正在使用整数数学,然后将结果存储在浮点中

float c = ((float)a) / b; 
会给你一个浮点数,但使用双打会更精确

或者使用BigDecimal

BigDecimal d = new BigDecimal(a).Divide(new BigDecimal(b));

您正在使用整数数学,然后将结果存储在浮点中

float c = ((float)a) / b; 
会给你一个浮点数,但使用双打会更精确

或者使用BigDecimal

BigDecimal d = new BigDecimal(a).Divide(new BigDecimal(b));

在非十进制值(整数和浮点)之间进行除法,则结果将不是十进制,然后将其转换为浮点,但十进制信息已丢失

您可以在整个操作中使用十进制类型(float、double、BigDecimal),也可以在使用值之前强制转换这些值

  float a = 234;
  float b = 123453344L;
  float c =  a/b;


我希望这有帮助。

在非十进制值(整数和浮点)之间进行除法,然后结果将不是十进制,然后将其转换为浮点,但十进制信息已经丢失

您可以在整个操作中使用十进制类型(float、double、BigDecimal),也可以在使用值之前强制转换这些值

  float a = 234;
  float b = 123453344L;
  float c =  a/b;


我希望这能有所帮助。

这是实现这一点的另一种方法:


float c=a.floatValue()/b.floatValue()

这是实现这一目标的另一种方法:

float c=a.floatValue()/b.floatValue()