我的输入字符串看起来像这样"10^-9"
。由于 Java 不处理求幂并且"^"
代表按位 XOR,因此我尝试以不同的方式进行操作。我将字符串拆分为 10 和 -9 并将其解析为双精度,然后用于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。在代码中我找不到错误,无论是我做错了什么还是编译器将“-(减号)”识别为“-(连字符)”,但我认为这不是原因,因为两个字符串看起来相同并且编译器应该看到这个。