微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 计算公式

我正在尝试实现一个程序,该程序从用户接收一个等式(在1行中)并输出结果.到目前为止,我已经使用indexof找到符号,然后我试图在符号的左侧和右侧找到数字的值 –

string input = "5+4+6";
            while (input.Contains('+'))
            {
                Console.WriteLine(input.IndexOf("+"));

                string position1 = input.Substring(0,input.IndexOf("+"));
                int number1 = Convert.ToInt32(position1);

                String position2 = input.Substring(2,input.IndexOf("+"));
                int number2 = Convert.ToInt32(position2);

                int sum = (number1 + number2);

我的代码的问题是我在左边说明数字并将其转换为int而在现实生活中,等式中的数字将是未知的,可以是2 4或3 5 6 4,为了简单起见,现在我试图和 –,然后/和*.

任何人都可以建议改进代码或任何帮助吗?
我知道有其他方法来计算公式,如ncalc,但我想坚持这种方法.

谢谢

解决方法

根据你给出的,如果这是预期的字符串输入,你可以这样做:

string input = "5+4+6";
int result = 0;
while (input.Contains('+'))
{
    var numbers = input.Split('+');

    foreach(var num in numbers)
    {
        result += Convert.ToInt32(num);
    }
}

类似于此的东西应该有效,你可以替换任何运算符.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐