DecimalFormat类
格式化数字
public final String format(double number); 结果以String对象返回
例:DecimalFormat for = new DecimalFormat(“0000.00”);
String re = for.format(15424.4781);
那么,re的值为15424.48
例:
<span style="font-size:18px;">package com.DecialF;
import java.text.DecimalFormat;
public class DeFormat {
public static void main(String []args){
DecimalFormat sre=new DecimalFormat("####,##00.00\u2030"); //千分位转换 以最后一个分隔符为准
DecimalFormat sds=new DecimalFormat("###,###00.000%"); //百分位转换
String as=sre.format(14521.1251);
String str=sds.format(145124.1354);
System.out.println(str);
System.out.println(as);
DecimalFormat ss=new DecimalFormat("0000.000");
String sfd=ss.format(1412355.12054);
System.out.println(sfd);
double a=Double.parseDouble(sfd);
System.out.println(a);
}
}</span>
答案:
145,12413.540%
1452,1125.10‰
1412355.121
1412355.121
Pattern与Match类
模式对象
Pattern类调用类方法compile(String regex)返回一个模式对象,其中的regex是一个正则表达式。
例:Pattern p = Pattern.compile(“hello\\d”);
如果参数regex有错,compile方法将会抛出异常PatternSynataxException.
匹配对象
模式对象p调用matcher(String/StringBuffer input)方法返回一个Matcher对象m,称为匹配对象。
可以通过以下三种方式寻找是否有和regex匹配的子序列:
public boolean find() 寻找input和regex匹配的下一序列,如果匹配成功,返回true,否则返回false。m.start()和m.end()可以找到匹配成功的字符串的位置,当find方法返回true时,可以通过m.group()获得本次匹配成功的子字符串
public boolean matches() 判断input是否完全和regex匹配
public boolean lookingAt() 判断input从开始位置是否和regex匹配,若匹配,则可以通过m.start()和m.end()返回开始位置和结束位置。
public boolean find(int start) 判断从start开始是否存在和regex匹配的字符串,参数start为0时,该方法和lookAt()功能相同。
public String replaceFirst(String replacement) 将input中第一个与regex匹配的字符串替换成replacement后得到一个字符串,并返回。
public String replaceAll(String replacement) 将input中所有与regex匹配的字符串替换成replazement后得到的字符串,并返回。
例:
package com.PatternMa;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PaMatch {
public static void main(String []args){
Pattern p;
Matcher m;
String regex="[1-9][0-9]*[.]?[0-9]*";
p=Pattern.compile(regex);
String str="dajiahao120.244,,djoiha0132.4524,iy0.1254";
m=p.matcher(str);
System.out.println(m);
while(m.find()){
String s=m.group();
System.out.println("匹配项从第"+m.start()+"项到第"+m.end()+"项");
System.out.println(s);
}
}
}
答案:
匹配项从第8项到第15项
120.244
匹配项从第24项到第32项
132.4524
匹配项从第37项到第41项
1254