私は2つの非負のロングを持っています。それらは大きく、Long.MAX_VALUEに近い場合があります。2つの数値からパーセンテージを計算したいと思います。
通常、私はこれを行います:
long numerator = Long.MAX_VALUE / 3 * 2;
long denominator = Long.MAX_VALUE;
int percentage = (int) (numerator * 100 / denominator);
System.out.println("percentage = " + percentage);
分子がLong.MAX_VALUEに対して2桁以内の場合、これは正しくありません。
これを行うための正しく、簡単で、速い方法は何ですか?