Java 数学-小于1时未得到结果

Java 数学-小于1时未得到结果,java,android,math,Java,Android,Math,我有一道数学题。实际上这是一个非常简单的操作,但由于某些原因,我无法在TextView中显示一个简单的数学操作 我想显示用户知识,因此我将计算值输入到了一个双精度。然后尝试使用Double.toString将其放入TextView。。 代码是 double knoledgePercentage = ((100/(endingPoint - startingPoint))*knownCount); tv.setText(Double.toString(knoledgePercentage)

我有一道数学题。实际上这是一个非常简单的操作,但由于某些原因,我无法在
TextView
中显示一个简单的数学操作

我想显示用户知识,因此我将计算值输入到了一个
双精度
。然后尝试使用
Double.toString
将其放入
TextView
。。 代码是

double knoledgePercentage = ((100/(endingPoint - startingPoint))*knownCount);
    tv.setText(Double.toString(knoledgePercentage));
问题是,我甚至试着用数字做数学运算,看变量是否正确。我是这样做的:

double knoledgePercentage = ((100/400)*3);
    tv.setText(Double.toString(knoledgePercentage));
它仍然在
文本视图中显示0.0。

只是想澄清一下我的问题不在于使用
文本视图
,而在于做数学。

您在Java中使用整数除法,它会截断任何小数,因为
int
除以
int
仍然必须产生
int
。因此,
100/400
在Java中是
0
,而不是
0.25
。只有这样,它才被分配给一个
double
,并提升为
double
0.0

将一个文本强制转换为
double
或使用
double
文本强制浮点运算

double knoledgePercentage = (((double) 100/400)*3);


您在Java中使用的是整数除法,它会截断任何小数,因为
int
除以
int
仍必须产生
int
。因此,
100/400
在Java中是
0
,而不是
0.25
。只有这样,它才被分配给一个
double
,并提升为
double
0.0

将一个文本强制转换为
double
或使用
double
文本强制浮点运算

double knoledgePercentage = (((double) 100/400)*3);


谢谢!。工作得很卖力!。工作得很有魅力