使用'x'运算符计算数字乘积的函数?

时间:2013-08-27 00:26:38

标签: .net string parsing infix-operator

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

例如:

  • 如果输入为"6 x 11",则输出应为66
  • 如果输入为"78,则输出应为78

2 个答案:

答案 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);
        }