的Android 2.3.3轉換字符串(EditText上輸入),以龍的Android
程序:計算器
我有一個EditText
,需要一個字符串(如:100+1.20+45+...
)
當我嘗試解析1.20
要長,使用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
對象,其中如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()按要求。
'1.20' **不是**很長,請參閱'Math.round'或類似的東西 – 2012-12-07 09:12:00
您能爲我們發佈代碼嗎? –
事情是我必須在輸入中添加所有數字。例如,100 + 1.20 + 45應該給我146.20,並且回合只會給我146,這不是正確的值。 –