我正在处理以下问题
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.'
答案 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();
}