私の入力文字列は次のようになります"10^-9"
。Java は累乗を処理せず"^"
、ビットごとの XOR を表すため、別の方法で実行しようとしました。String を 10 と -9 に分割し、それを double に解析してMath.pow()
から、その値を取得するために使用しました。コードは次のようになります。
String[] relFactorA = vA.getValue().split("^"); //vA.getValue is a String like `"10^-9"` or any other number instead of 9.
Double pow1 = Double.parseDouble(relFactorA[0]);
Double pow2 = Double.parseDouble(relFactorA[1]);
Double relFactor = Math.pow(pow1, pow2);
System.out.println(relFactor);
しかし、その方法では java.lang.NumberFormatException が発生します。コードでは、私が何か間違ったことをしたか、コンパイラが「-(マイナス)」を「-(ハイフン)」として認識したかどうかにかかわらず、エラーを見つけることができませんが、両方の文字列が同じように見え、コンパイラはこれを確認する必要があります。