アプリで次のステートメントに科学表記法を使用できるようにしたい...
float wc = Float.parseFloat(editText3.getText().toString());
数値入力のプロンプトになります。これはそのまま動作し、2000 は入力できますが、2e3 は入力できません。
アプリで次のステートメントに科学表記法を使用できるようにしたい...
float wc = Float.parseFloat(editText3.getText().toString());
数値入力のプロンプトになります。これはそのまま動作し、2000 は入力できますが、2e3 は入力できません。
以下も使用できます。
Double.valueOf("9.18E+09").longValue()
また
BigDecimal bd = new BigDecimal("9.18E+09");
long val = bd.longValue();
文字列を見て、自分で変更する必要があります。
私は次のようなことを提案します:
String str = editText3.getText().toString();
double fValue;
if (str.contains("e")) {
String[] parts = str.split("e");
double part1 = Double.parseDouble(parts[0]);
double part2 = Double.parseDouble(parts[1]);
fValue = part1 * Math.pow(10, part2);
} else {
fValue = Double.parseDouble(str);
}
これはテストされていませんが、うまくいくと思います。