請稍後閱讀,章節錯誤
packag.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
publicssreportutil{
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
publicstaticstrinputestring(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.receall(“\\s“,““);//去除空格
081
try{
082
patternpattern=patternpile(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
putestirngnobracket(temp)
091
+string.substring(index+temp.length());
092
}
093
}
094
//最後計算總的表達式結果
095
stringputestirngnobracket(string);
096
}catch(numberformatexceptione){
097
returne.getmessage();
(未完待續。[..tw超多好看小說]<strong>棉花糖小說網..tw</strong>)
packag.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
publicssreportutil{
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
publicstaticstrinputestring(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.receall(“\\s“,““);//去除空格
081
try{
082
patternpattern=patternpile(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
putestirngnobracket(temp)
091
+string.substring(index+temp.length());
092
}
093
}
094
//最後計算總的表達式結果
095
stringputestirngnobracket(string);
096
}catch(numberformatexceptione){
097
returne.getmessage();
(未完待續。[..tw超多好看小說]<strong>棉花糖小說網..tw</strong>)