丸めエラー (と思われるもの) に問題があります。
0.686357E-01
double に変換しようとしている文字列 があります。関数を使用して分割することができましたPattern.split()
。基数と指数の値をうまくキャプチャしています。ただし、それらを適切に乗算しようとすると、結果として次のようになります0.06863570000000001
。
関連するコードは次のとおりです。
pattern = Pattern.compile("E\\+?");
String[] number = pattern.split(string);
double base = Double.parseDouble(number[0]);
int exponent = Integer.parseInt(number[1]);
number= base*Math.pow(10, exponent);
では、丸め誤差を回避するにはどうすればよいでしょうか。(回避できる方法はありますが、可能であれば対処法を教えていただきたいです)
ありがとう。