什么函数会输入一个字符串,该字符串可以包含数字,也可以使用'x'
字符作为运算符将两个数字相乘?
例如:
"6 x 11"
,则输出应为66
。"78
,则输出应为78
。答案 0 :(得分:0)
好吧,您可以使用多个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;
}
当然,这会忽略任何输入验证。
答案 1 :(得分:0)
检查
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);
}