数学 - 小于1时得不到结果

时间:2014-06-20 22:39:40

标签: java android math

我有数学问题。实际上它是一个非常简单的,但由于某种原因,我无法在TextView内显示简单的数学动作。

我想显示用户知识,因此我将计算值输入double。然后尝试使用TextView将其转换为Double.toString。 代码是

double knoledgePercentage = ((100/(endingPoint - startingPoint))*knownCount);
    tv.setText(Double.toString(knoledgePercentage));

问题是我甚至尝试用数字进行数学计算,看看变量是否正常。 id是这样的:

double knoledgePercentage = ((100/400)*3);
    tv.setText(Double.toString(knoledgePercentage));

仍然在TextView中显示0.0。 只是为了清楚我的问题不是使用TextView而是使用数学。

1 个答案:

答案 0 :(得分:4)

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

将其中一个文字投射到double或使用double文字来强制浮点数学。

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

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