2016-09-17 73 views
0

我分2个数字,并希望在适当时返回小数。但它在所有方面都回归整数。Float不会返回小数时分

float temp = (twoMileInSeconds - 774)/6; 
timeIndex = (int)Math.floor(temp); 

debug1.setText("Before rounding: " + temp); 
debug2.setText("After rounding: " + timeindex); 

感谢

回答

1

哪些数据类型是 'twomileinsecods'?如果它的int,那么这是问题......或者如果你把6.0而不是6.

为确保在等号右边产生浮动,请确保所有数据类型在右边已经漂浮。问题在于,在分部已经发生之后,它正在投射。

+0

twoMileInSeconds是一个int。它应该是浮动的吗? – th3ramr0d

+0

是啊改变twoMileInSeconds浮动,现在它显示正确的小数。谢谢! – th3ramr0d

+0

我可以得到一个ramrod大拇指吗? –

1

如果您要将类型转换为float类型,那么它也会像您使用变量twoMileInSeconds一样完美工作,并且它也可以是整数,所以您也可以使用此方法。

float temp = (float) (twoMileInSeconds - 774)/6; 
     int timeIndex = (int)Math.floor(temp);