アンドロイド 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()
てみましたが、どこかで読んだように、 as が値をLong.valueOf()
返すLong
オブジェクトをLong.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() を使用します。