繁体
069
091
074
063
073
NumberFormatnumberFormat=NumberFormat.getInstance();
071
062
s=decimalFormat.format(obj);
string=string.replaceAll(“\\s“,““);//去除空格
089
064
087
DecimalFormatdecimalFormat=newDecimalFormat(format);
while(pattern.matcher(string).find()){
053
097
*计算字符串四则运算表达式
082
}
070
Patternpattern=Patternpile(regex);
.format(obj);
075
095
081
}catch(NumberFormatExceptione){
067
078
*@paramstring
076
}catch(Exceptione){
returnstring;
057
}
if(!Pattern.matches(regexCheck,string))
061
093
index=string.indexOf(temp);
Stringregex=“\\([\\d\\.\\ \\-\\*/] \\)“;//提取括号表达式
068
086
}
s=numberFormat.format(obj);
string.substring(index temp.length());
}
065
090
088
058
while(matcher.find()){
StringregexCheck=“[\\(\\)\\d\\ \\-\\*/\\.]*“;//是否是合法的表达式
本章已阅读完毕(请
击下一章继续阅读!)
056
077
}
temp=matcher.group();
Stringtemp=““;
052
083
returne.getMessage();(未完待续。)
string=string.substring(0,index)
}else{
*/
intindex=-1;
Matchermatcher=null;
084
096
072
085
computeStirngNoBracket(temp)
publicstaticStringcomputeString(Stringstring){
}else{
066
//最后计算总的表达式结果
094
/**
matcher=pattern.matcher(string);
059
055
*@return
string=computeStirngNoBracket(string);
054
//循环计算所有括号里的表达式
079
060
}
080
try{
returns;
092