乐读屋 - 都市言情 - 我的1979在线阅读 - 116、骂战

116、骂战



        请稍后阅读,章节错误

        packagecom.z

        002

        003

        importjava.text.DecimalFormat;

        004

        importjava.text.NumberFormat;

        005

        importjava.text.SimpleDateFormat;

        006

        importjava.util.regex.Matcher;

        007

        importjava.util.regex.Pattern;

        008

        009

        publicclassReportUtil{

        010

        011

        /**

        012

        *格式化日期

        013

        *@paramobj日期对象

        014

        *@paramformat格式化字符串

        015

        *@return

        016

        */

        017

        publicstaticStringformatDate(Objectobj,Stringformat){

        018

        if(obj==null)

        019

        return““;

        020

        021

        Strings=String.valueOf(obj);

        022

        if(format==null||““.equals(format.trim())){

        023

        format=“yyyy-MM-dd“;

        024

        }

        025

        try{

        026

        SimpleDateFormatdateFormat=newSimpleDateFormat(format);

        027

        s=dateFormat.format(obj);

        028

        }catch(Exceptione){

        029

        }

        030

        returns;

        031

        }

        032

        033

        /**

        034

        *格式化数字

        035

        *@paramobj数字对象

        036

        *@paramformat格式化字符串

        037

        *@return

        038

        */

        039

        publicstaticStringformatNumber(Objectobj,Stringformat){

        040

        if(obj==null)

        041

        return““;

        042

        043

        Strings=String.valueOf(obj);

        044

        if(format==null||““.equals(format.trim())){

        045

        format=“#.00“;

        046

        }

        047

        try{

        048

        if(objinstanceofDouble||objinstanceofFloat){

        049

        if(format.contains(“%“)){

        050

        NumberFormatnumberFormat=NumberFormat.getPercentInstance();

        051

        s=numberFormat.format(obj);

        052

        }else{

        053

        DecimalFormatdecimalFormat=newDecimalFormat(format);

        054

        s=decimalFormat.format(obj);

        055

        }

        056

        }else{

        057

        NumberFormatnumberFormat=NumberFormat.getInstance();

        058

        s=numberFormat.format(obj);

        059

        }

        060

        }catch(Exceptione){

        061

        }

        062

        returns;

        063

        }

        064

        065

        /**

        066

        *计算字符串四则运算表达式

        067

        *@paramstring

        068

        *@return

        069

        */

        070

        publicstaticStringcomputeString(Stringstring){

        071

        StringregexCheck=“[\\(\\)\\d\\+\\-\\*/\\.]*“;//是否是合法的表达式

        072

        073

        if(!Pattern.matches(regexCheck,string))

        074

        returnstring;

        075

        076

        Matchermatcher=null;

        077

        Stringtemp=““;

        078

        intindex=-1;

        079

        Stringregex=“\\([\\d\\.\\+\\-\\*/]+\\)“;//提取括号表达式

        080

        string=string.replaceAll(“\\s“,““);//去除空格

        081

        try{

        082

        Patternpattern=Pattern.compile(regex);

        083

        //循环计算所有括号里的表达式

        084

        while(pattern.matcher(string).find()){

        085

        matcher=pattern.matcher(string);

        086

        while(matcher.find()){

        087

        temp=matcher.group();

        088

        index=string.indexOf(temp);

        089

        string=string.substring(0,index)

        090

        +computeStirngNoBracket(temp)

        091

        +string.substring(index+temp.length());

        092

        }

        093

        }

        094

        //最后计算总的表达式结果

        095

        string=computeStirngNoBracket(string);

        096

        }catch(NumberFormatExceptione){

        097

        returne.getMessage();(未完待续。)