0

什么函数将输入一个字符串,该字符串可以包含数字或使用'x'字符作为运算符的两个数字的乘法?

例如:

  • 如果输入是,"6 x 11"那么输出应该是66
  • 如果输入是"78" 那么输出应该是78.
4

2 回答 2

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;
}

当然,这会忽略任何输入验证。

于 2013-08-27T00:33:03.733 回答
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);
        }
于 2013-08-27T04:18:11.343 回答