使用字符串计算除法

时间:2018-08-20 08:06:21

标签: c#

我正在处理以下问题

Using system;
namespace StringToNumerics
{

    class Trial
    {

        static void Main(string[] args)
        {
            string division = "10/5";
            double divided = Convert.ToDouble(division);
            Console.WriteLine("divided {0} : ", divided);
            Console.ReadKey();
        }
    }
}

但是我得到一个错误,提示输入字符串的格式不正确?如何解决这个问题。

System.FormatException: 'Input string was not in a correct format.'

3 个答案:

答案 0 :(得分:3)

您想要做的基本上是将文本转换为双精度。 它不计算它,它只是尝试解析数字值并将其返回为实数。 为此,这将返回错误,因为转换器无法理解“ /”符号。

基本上,首先要做的是解析输入字符串,将其标记化,然后执行。

因此,基本上:将其拆分为Operand1(10),运算符(/)和operand2(5)。 然后转换两个操作数并对其调用操作。

哦,请不要检查“除零”事件的发生。

答案 1 :(得分:1)

转换器不理解其带有“ /”符号的字符串。

您需要先拆分然后再拆分。

double divided = (Convert.ToDouble(division.Split('/')[0]) / Convert.ToDouble(division.Split('/')[1]));

答案 2 :(得分:0)

不要尝试从字符串开始计算内容。从数字开始,计算一些东西,然后根据该数字产生字符串输出会更容易。

static void Main(string[] args)
{
    double dividend = 10;
    double divisor = 5;
    double quotient = dividend / divisor;
    Console.WriteLine("divided {0}/{1} : {2}", dividend, divisor, quotient);
    Console.ReadKey();
}