Re: [問題] editText的小問題
※ 引述《w999 (天天喝珍奶)》之銘言:
: 我想問一下 我用了很多的EditText來做計算
: 但是只要有一個沒填上數字程式就會出現錯誤然後關閉
: 不曉得怎麼樣才能讓他設定成沒輸入數字等於0
: 或是有辦法提醒說請輸入數子然後不要讓程式直接錯誤關閉嗎..
假設輸入是 editText
String a = editText.getText().toString();
double num; //放這個editText的結果用,等等要運算
if( a.equals("") ){ //editText沒有輸入值
num = 0; //讓其預設是0
} else {
num = Double.parseDouble(a); //轉成要的值
}
還可以判斷一下是不是數字 不過這邊就要用try/catch
以下是加法的範例:
參數說明:
EditText et1, et2; //用來讓使用者輸入變數1及變數2
TextView tv1; //顯示結果用
程式碼:
try {
String s1 = et1.getText().toString(); //取得et1內的字串
double num1; //用來放程式碼內運算用的第一個變數
if( s1.equals("") ) { //如果是空字串
num1 = 0; //讓num1是預設值(也就是0)
} else { //不是空字串
num1 = Double.parseDouble(s1); //轉成double放入num1
}
String s2 = et2.getText().toString(); //取得et2內的字串
double num2; //同上
if( s2.equals("") ) {
num2 = 0;
} else {
num2 = Double.parseDouble(s2);
}
double result = num1 + num2; //加起來
tv1.setText(result + ""); //顯示結果
} catch( NumberFormatException nfe ) { //萬一輸入值轉成double時失敗
tv1.setText("不可輸入數字以外的字"); //顯示結果
}
我也不知道這樣寫好不好 囧> 不過之前是這樣做這樣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.149.39
※ 編輯: cha122977 來自: 123.194.149.39 (05/23 21:13)
※ 編輯: cha122977 來自: 123.194.149.39 (05/23 21:20)
推
05/23 21:46, , 1F
05/23 21:46, 1F
→
05/23 22:21, , 2F
05/23 22:21, 2F
→
05/23 22:22, , 3F
05/23 22:22, 3F
→
05/23 22:23, , 4F
05/23 22:23, 4F
推
05/24 13:10, , 5F
05/24 13:10, 5F
推
05/24 14:52, , 6F
05/24 14:52, 6F
討論串 (同標題文章)