2016-09-17 14 views
0

2つの数値を分割し、必要に応じて10進数を返したいとします。しかし、それはすべての数字を返す。分割時に浮動小数点が返されない

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

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

答えて

1

どのようなデータ型のおかげで 'twomileinsecods' ですか?そのintの場合、それは問題です...または、6の代わりに6.0を置く場合もあります。

等号の右にある除算が浮動小数点になるようにするには、すべてのデータ型右側にはすでに浮動小数点があります。問題は、分割が既に行われた後に浮動小数点型にキャストされていることです。

+0

twoMileInSecondsはintです。それは浮動式であるべきですか? – th3ramr0d

+0

ええ、twoMileInSecondsをfloatに変更しました。これで正しい小数が表示されます。ありがとう! – th3ramr0d

+0

私はramrodの親指を取得することはできますか? –

1

キャストをfloatと入力すると、変数twoMileInSecondsを使用したときと同じように完全に動作します。また、整数にすることもできますので、この方法も利用できます。

float temp = (float) (twoMileInSeconds - 774)/6; 
     int timeIndex = (int)Math.floor(temp); 
関連する問題