.net 计算问题

ly198706 2010-11-17 05:42:08

string aa = "1+2+3+4+6/3*2";
decimal bb = 1 + 2 + 3 + 4 + 6 / 3 * 2;


正如我写的。怎么把aa转变成bb的形式。
...全文
126 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 teng_s2000 的回复:]
DataTable的Compute直接计算吧还转化什么啊
[/Quote]
这个挺好,试下.
Peter200694013 2010-11-17
  • 打赏
  • 举报
回复
string aa = "1+2+3+4+6/3*2";
decimal bb = Convert.ToDecimal(new DataTable().Compute(aa, ""));

Console.WriteLine(bb);
Teng_s2000 2010-11-17
  • 打赏
  • 举报
回复
DataTable的Compute直接计算吧还转化什么啊
huanshayi 2010-11-17
  • 打赏
  • 举报
回复
List<decimal> nums = new List<decimal>();
List<string> Operator = new List<string>();
string num = "";
//分拆aa
for (int i=0;i<aa.Length;i++)
{
if (aa[i] == '+' ||aa[i] == '-' ||aa[i] == '/' ||aa[i] == '*')
{
nums.Add(decimal.Parse(num));
num = "";
Operator.Add(aa[i]);
}
else
{
num += aa[i];
}
}
//拆好了你自己写算法计算吧
Rock870210 2010-11-17
  • 打赏
  • 举报
回复
1+2+3+4+6/3*2这个传入的时候需要在数字与运算符之间加上空格
比如:1 + 2 + 3 + 4 + 6 / 3 * 2以这样的格式传入
Rock870210 2010-11-17
  • 打赏
  • 举报
回复
http://blog.csdn.net/Rock870210/archive/2009/12/07/4958479.aspx
以前做的,给你参考。也可以直接使用
DataBox-MDX 2010-11-17
  • 打赏
  • 举报
回复
1、写个方法,分割
2、分割完将字符型转为整型
3、最后转换
ly198706 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yang_5 的回复:]

自己写一个方法进行分割
[/Quote]

详细一点的提示吧。
yang_5 2010-11-17
  • 打赏
  • 举报
回复
可以先把:+、-、*、/;存储,在进行分割
yang_5 2010-11-17
  • 打赏
  • 举报
回复
自己写一个方法进行分割

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧