读取输入框Editext中输入的数字格式的文本,获得一个正确的数字格式的数的字符串;然后按照其他步骤使用该字符串:
得到数字的方法
1)如果是整数类型(不含小数点)的数字,可以根据情况使用String与int/long类型的转换得到相应的整数
private EditText et; String strEt = et.getText().toString();//转化为int去掉最前面的无意义的0 int m = Integer.valueOf(strEt); strEt = Integer.toString(m); // long l = Long.valueOf(str); // str = Long.toString(l);
2)利用浮点数类型,获得整数部分,可以用相类似的方法:
strEt = et.getText().toString(); double d = Double.parseDouble(strEt); strEt = Double.toString(d); // Math.floor(d); //取整得到如4.0; strEt = Double.toString(d); strEt.substring(0, strEt.indexOf("."));
3)类似(2)得到浮点类型的数(切要求保留int i位小数的值):
可以用转换的double值,d乘以相应的(Double)(10^i),取整然后再除改(10^i)即可;4)使用正则表达式:
String regex =“\\[1-9]\\d*\\.\\d*"和 regex2 = ”0\\.\\d*"if(regex匹配) //无匹配时说明输入的数整数部分为0else if(采用regex2匹配)//仍无匹配则输入的为0else 输入的为05)直接使用字符串进行下一步操作, 首先设置一个boolean值,从首位字符开始读取字符串strEt,用来判断是否读到'0'之外的字符,当读到非'0'字符时开始执行操作(当第一个非'0'字符为'.'时,首先补一个0)。
6)使用String的replace( )方法进行操作:str = str.replace('0', ' ');//将0变为空格,并在最后追加一个保护字符
str = str.trim();//将最前面的空格去掉,再将保护字符去掉
str = str.replace( " ","0");//将空格转换回0