1

重複の可能性:
なぜ (360 / 24) / 60 = 0 … Java で

私はこの問題を抱えています:

float rate= (115/100);

私がする時:

System.out.println(rate);

それは私に1.0を与えます 何が...問題ですか?

4

7 に答える 7

10

115 と 100 はどちらも整数なので、整数を返します。

これを試してください:

float rate = (115f / 100f);
于 2012-12-21T15:44:18.463 に答える
3

整数除算 (整数の結果を提供) を実行し、それを float に格納しています。

結果が適切な型になるようにするには、操作で少なくとも 1 つの float を使用する必要があります。

float rate = 115f / 100;
于 2012-12-21T15:44:09.977 に答える
2
float rate= (115/100);

次のことを行います。

1151)これ以上の整数除算を実行100すると値1が得られます
。2)ステップ1)の結果をfloatにキャストします。これにより、値1.0が得られます。

あなたが欲しいのはこれです:

float rate = 115.0/100;

または、より一般的には、分割の1つをfloatに変換する場合は、キャスト(float)115/100を使用するか、2つの部分の1つに小数点を追加するか、これを行うかfloat rate = 115f / 100は完全にあなた次第です。同じ結果が得られます。

于 2012-12-21T15:45:20.270 に答える
2

整数で浮動小数点演算を実行するには、オペランドの少なくとも 1 つを にキャストする必要がありますfloat

例:

int a = 115;
int b = 100;
float rate = ((float)a)/b;
于 2012-12-21T15:48:49.130 に答える
1

入れれば十分float rate = 115f / 100;

于 2012-12-21T16:09:20.560 に答える
1

float rate= (float)(115.0/100);代わりに使用

于 2012-12-21T15:43:52.810 に答える
0
于 2012-12-21T15:49:24.543 に答える