安卓 2.3.3
程序:计算器
我有一个EditText
需要一个字符串(例如100+1.20+45+...
:)
当我尝试使用 解析1.20
为 long 时,Long.parseLong(1.20)
出现以下错误。
12-07 14:28:32.902: E/AndroidRuntime(771): FATAL EXCEPTION: main
12-07 14:28:32.902: E/AndroidRuntime(771): java.lang.NumberFormatException: 1.20
12-07 14:28:32.902: E/AndroidRuntime(771): at java.lang.Long.parse(Long.java:353)
12-07 14:28:32.902: E/AndroidRuntime(771): at java.lang.Long.parseLong(Long.java:344)
12-07 14:28:32.902: E/AndroidRuntime(771): at java.lang.Long.parseLong(Long.java:311)
我也尝试Long.valueOf()
过,但是当我在某处阅读时,Long.valueOf()
返回一个Long
对象,其中 asLong.parseLong()
返回long
值。所以,我希望我试图做的是正确的。
我阅读了有关此问题的所有可能问题,但无法解决。有人可以帮我吗。
代码以备不时之需...
long result=0;
String expression = editText1.getText().toString();
String[] strArrayExpression2 = expression.split("\\+");
for(int i=0; i<strArrayExpression2.length;i++)
{
result += Long.parseLong(strArrayExpression2[i]);
}
答案 ::: 根据要求使用 Float.parseFloat() 或 Double.parseDouble()。