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


读取输入框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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值