我希望能够在我的应用程序中使用科学记数法来表示以下语句......
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);
}
请注意,这未经测试,但我认为它会正常工作。