哪个函数将输入一个字符串,该字符串可以包含数字,也可以包含使用'x'
字符作为运算符的两个数字的乘积?
例如:
- 如果输入是
"6 x 11"
,那么输出应该是66
- 如果输入为
"78
",则输出应为78
好吧,可以使用几个System.String方法来实现这一点。你试过什么?
一种选择:
public int GetValue(string input)
{
int output = 0;
if (input.Contains("x"))
{
string[] a = input.Split('x');
int x = int.Parse(a[0]);
int y = int.Parse(a[1]);
output = x * y;
}
else
{
output = int.Parse(input);
}
return output;
}
当然,这会忽略任何输入验证。
检查此
public int GetProduct(string input)
{
int result = 1;
input = input.ToUpper();
if (input.Contains("X"))
{
string[] array = input.Split('x');
for (int index = 0; index < array.Length; index++)
{
if (IsNumber(array[index]))
{
result = result * Convert.ToInt32(array[index]);
}
}
}
else
{
result = Convert.ToInt32(input);
}
return result;
}
bool IsNumber(string text)
{
Regex regex = new Regex(@"^[-+]?[0-9]*.?[0-9]+$");
return regex.IsMatch(text);
}