会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Jetz
一个炒股的程序员
博客园
首页
新随笔
管理
用正则表达式完成简单公式的替换计算
//
用正则表达式完成替换计算
//
检验
if
(Common.GetMatchStr(
this
.sumitem,
@"
\w+([+\-*/]\w+)*
"
).Length
!=
sumitem.Length)
return
-
1
;
string
op
=
Common.GetMatchStr(sumitem,
@"
^\w+
"
);
double
ret
=
Cvt(op);
while
(op.Length
!=
sumitem.Length )
//
{
string
oper
=
sumitem.Substring(op.Length,
1
);
sumitem
=
sumitem.Substring(op.Length
+
1
);
op
=
Common.GetMatchStr(sumitem,
@"
^\w+
"
);
double
opval
=
Cvt(op);
switch
(oper)
{
case
"
+
"
:
ret
+=
opval;
break
;
case
"
-
"
:
ret
-=
opval;
break
;
case
"
*
"
:
ret
*=
opval;
break
;
case
"
/
"
:
ret
/=
opval;
break
;
}
}
暂时不支持运算符的优先级和括号。
posted @
2006-07-12 20:15
jetz
阅读(
1412
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
公告