重複の可能性:
なぜ (360 / 24) / 60 = 0 … Java で
私はこの問題を抱えています:
float rate= (115/100);
私がする時:
System.out.println(rate);
それは私に1.0を与えます 何が...問題ですか?
重複の可能性:
なぜ (360 / 24) / 60 = 0 … Java で
私はこの問題を抱えています:
float rate= (115/100);
私がする時:
System.out.println(rate);
それは私に1.0を与えます 何が...問題ですか?
115 と 100 はどちらも整数なので、整数を返します。
これを試してください:
float rate = (115f / 100f);
整数除算 (整数の結果を提供) を実行し、それを float に格納しています。
結果が適切な型になるようにするには、操作で少なくとも 1 つの float を使用する必要があります。
float rate = 115f / 100;
float rate= (115/100);
次のことを行います。
115
1)これ以上の整数除算を実行100
すると値1が得られます
。2)ステップ1)の結果をfloatにキャストします。これにより、値1.0が得られます。
あなたが欲しいのはこれです:
float rate = 115.0/100;
または、より一般的には、分割の1つをfloatに変換する場合は、キャスト(float)115/100を使用するか、2つの部分の1つに小数点を追加するか、これを行うかfloat rate = 115f / 100
は完全にあなた次第です。同じ結果が得られます。
整数で浮動小数点演算を実行するには、オペランドの少なくとも 1 つを にキャストする必要がありますfloat
。
例:
int a = 115;
int b = 100;
float rate = ((float)a)/b;
入れれば十分float rate = 115f / 100;
float rate= (float)(115.0/100);
代わりに使用