私は整数をJavaで整数で除算しようとしており、長い結果を返します。私は以下を試みたが、私は "0"を得続けている。Javaではフローリングなしでどのように分割できますか?
System.out.println(Long.valueOf(5)/Long.valueOf(18));
System.out.println((long)5/(long)18);
私は整数をJavaで整数で除算しようとしており、長い結果を返します。私は以下を試みたが、私は "0"を得続けている。Javaではフローリングなしでどのように分割できますか?
System.out.println(Long.valueOf(5)/Long.valueOf(18));
System.out.println((long)5/(long)18);
誰もが正しい答えを与えているようだが、あなたはまた、fはそれフロート
dがそれをダブルになりSystem.out.println(5/18d)
ます
System.out.println(5/18f)
を行うことができます注意してください
あなたは長い必要はありません、あなたは倍を必要とします。もちろん
System.out.println(5/18.0);
または
System.out.println(5.0/18);
これはあまりにも動作します:
System.out.println(5.0/18.0);
Long
は "長い" 整数です。代わりにfloat
またはdouble
を使用してください。
ロングはまだ整数です。小数を扱えるタイプが必要です。float
またはdouble
のいずれかを使用してください。
System.out.println(5.0/18.0);
現在、浮動小数点型のほうが一般的に2倍のほうが好ましいはずです(ただし、メモリフットプリントが精度よりもはるかに重要でない限り) – mikera