我有数学问题。实际上它是一个非常简单的,但由于某种原因,我无法在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
而是使用数学。
答案 0 :(得分:4)
您在Java中使用整数除法,它会截断任何小数,因为int
除以int
仍然必须产生int
。因此,100/400
在Java中为0
,而不是0.25
。只有这样才会将其分配到double
并升级为double
,0.0
。
将其中一个文字投射到double
或使用double
文字来强制浮点数学。
double knoledgePercentage = (((double) 100/400)*3);
或
double knoledgePercentage = ((100.0/400)*3);