方法1:
public static boolean checkCNChar(char oneChar) {
if ((oneChar >= '\u4e00' && oneChar <= '\u9fa5')
|| (oneChar >= '\uf900' && oneChar <= '\ufa2d'))
return true;
return false;
}
public static String deleteCNChar(String source) {
char[] cs = source.toCharArray();
int length= cs.length;
char [] buf = new char[length];
for (int i = 0; i
char c = cs[i];
if (!checkCNChar(c)) {
buf[i] = c;
}
}
String ret = new String(buf);
return ret.trim();
}
String Listnumber1 = material.getListnumber(); //Listnumber1得到字符串例如3米
Listnumber1 = deleteCNChar(Listnumber1); //调用去除汉字函数
double Listnumber2;
java.text.DecimalFormat myformat11=new java.text.DecimalFormat("#0.00");
Listnumber2 = Double.parseDouble(Listnumber1); //现在Listnumber1里面存的是3
Listnumber2 = Double.parseDouble(myformat11.format(Listnumber2)); //将3保留两位有效数字
2判断字符串中是不是纯数字组成的?
material.getListnumber().matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$") //返回布尔型
3 Pattern pt=Pattern.compile("([0-9]|\\.|\\-)*"); Matcher m=pt.matcher(listnumber); //listnumber中存放3米 m.find(); mater.setListnumber(Double.parseDouble(m.group())); //将米去掉,剩下3 mater.setUnit(listnumber.replaceAll("([0-9]|\\.|\\-)*", "")); //将3去掉,剩下米