I am having an issue formatting numbers in an editText. I want users to be able to enter a number as either an positive or negative integer (5 or -5) and for it to format a as decimal (.05). Currently, it is formatting as .05.0 instead .05 and i can't figure out why. Also if the user enters erroneous text or leaves the field blank i want to set the editText to "0". However, I get an error instead. Any help greatly appreciated.
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
}
}