请稍后阅读,章节错误
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
lassreportutil
010
011
/**
012
*格式化日期
013
*@para摸bj日期对象
014
*@paramformat格式化字符串
015
*@return
016
*/
017
publicstaticstringformatdate(objectobj,stringformat)
018
if(obj==null)
019
return““;
020
021
strings=string.va露eof(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
*@para摸bj数字对象
036
*@paramformat格式化字符串
037
*@return
038
*/
039
publicstaticstringformatnumber(objectobj,stringformat)
040
if(obj==null)
041
return““;
042
043
strings=string.va露eof(obj);
044
if(format==null||““.equals(format.trim()))
045
format=“#.00“;
046
047
try
048
if(ob激nstanceofdouble||ob激nstanceoffloat)
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(未完待续。一笔阁 yibige.com 更多好看小说)
html|sitemap|shenma-sitemap|shenma-sitemap-new|sitemap50000|map|map50000
0.0041s 2.0558MB