Joh*_*ann -3 c# operator-keyword
假设程序接收输入字符串"8*10+6/2"并且应该输出83,在这种情况下.如何处理运营商?
我可以将字符串切成单个字符串,然后检测它是数字还是运算符.如果是操作员我可以将其转换为int.但我不知道如何处理运算符,以便计算工作.
你可以使用DataTable.Compute- "技巧":
double result = (double)new DataTable().Compute("8*10+6/2", null);
Run Code Online (Sandbox Code Playgroud)
表达式支持以下算术运算符:
+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulus)
Run Code Online (Sandbox Code Playgroud)
在更多的信息:DataColumn.Expression在表达式语法.