c# – 计算公式
发布时间:2020-12-15 23:25:15 所属栏目:百科 来源:网络整理
导读:我正在尝试实现一个程序,该程序从用户接收一个等式(在1行中)并输出结果.到目前为止,我已经使用indexof找到符号,然后我试图在符号的左侧和右侧找到数字的值 – string input = "5+4+6"; while (input.Contains('+')) { Console.WriteLine(input.IndexOf("+"))
我正在尝试实现一个程序,该程序从用户接收一个等式(在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,为了简单起见,现在我试图和 –,然后/和*. 任何人都可以建议改进代码或任何帮助吗? 谢谢 解决方法
根据你给出的,如果这是预期的字符串输入,你可以这样做:
string input = "5+4+6"; int result = 0; while (input.Contains('+')) { var numbers = input.Split('+'); foreach(var num in numbers) { result += Convert.ToInt32(num); } } 类似于此的东西应该有效,你可以替换任何运算符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |