editTextでの数値のフォーマットに問題があります。ユーザーが数値を正または負の整数(5または-5)として入力し、10進数(.05)としてフォーマットできるようにしたいと思います。現在、.05ではなく.05.0としてフォーマットされており、その理由がわかりません。また、ユーザーが誤ったテキストを入力したり、フィールドを空白のままにした場合は、editTextを「0」に設定します。ただし、代わりにエラーが発生します。どんな助けでも大歓迎です。
public void checkPremium(){
double number = Double.parseDouble(premium.getText().toString());
if(premium.getText().toString().equals(".")||premium.getText().toString().equals("-.")||premium.getText().toString().equals("")){
premium.setText("0");
}else if(number >= 1 || number < 10){
premium.setText(".0"+number);
}else if(number >= 10){
premium.setText("."+number);
}else if(number <= -1 || number > -10){
premium.setText(".0"+Math.abs(number));
}else if(number <= -10){
premium.setText("."+Math.abs(number));
}else if(number <1 || number >0){
//Do Nothing
}
}