您的位置:首页 > 移动开发 > Android开发

从非正规格式的输入数得到正规输入格式

2016-07-24 20:16 399 查看
读取输入框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匹配)   
//无匹配时说明输入的数整数部分为0
else if(采用regex2匹配)//仍无匹配则输入的为0
else 输入的为0
5)直接使用字符串进行下一步操作, 首先设置一个boolean值,从首位字符开始读取字符串strEt,用来判断是否读到'0'之外的字符,当读到非'0'字符时开始执行操作(当第一个非'0'字符为'.'时,首先补一个0)。

6)使用String的replace( )方法进行操作:
str = str.replace('0', ' ');//将0变为空格,并在最后追加一个保护字符
str = str.trim();//将最前面的空格去掉,再将保护字符去掉

str = str.replace( " ","0");//将空格转换回0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息