Test integerness: Difference between revisions

Content added Content deleted
Line 479: Line 479:
string [] N;
string [] N;
// Rational number value
// Real number value
if(LINE.Contains("/"))
if(!double.TryParse(LINE, out NUMBER))
{
{
N = LINE.Split('/');
// Rational number value
if(LINE.Contains("/"))
{
NUMBER = double.Parse(N[0]) / double.Parse(N[1]);
N = LINE.Split('/');
}
// Inf value
NUMBER = double.Parse(N[0]) / double.Parse(N[1]);
else if(LINE.ToUpper().Contains("INF"))
{
}
// Inf value
NUMBER = double.PositiveInfinity;
else if(LINE.ToUpper().Contains("INF"))
}
// NaN value
{
NUMBER = double.PositiveInfinity;
else if(LINE.ToUpper().Contains("NAN"))
{
}
NUMBER = double.NaN;
// Complex value
else if(LINE.ToUpper().Contains("I"))
}
{
// Complex value
else if(LINE.ToUpper().Contains("I"))
LINE = LINE.ToUpper().Replace("I","");
{
LINE = LINE.ToUpper().Replace("I","");
if( LINE.Contains("+") )
N = LINE.Split('+');
else
if( LINE.Contains("+") )
N = LINE.Split('+');
N = LINE.Split('-');
else
N = LINE.Split('-');
NUMBER = double.Parse(N[1]);
if(NUMBER==0)
NUMBER = double.Parse(N[1]);
NUMBER = double.Parse(N[0]);
if(NUMBER==0)
else
NUMBER = double.Parse(N[0]);
NUMBER = double.NaN;
}
// NaN value
else
else
NUMBER = double.NaN;
NUMBER = double.NaN;
}
}
// Real value
else
NUMBER = double.Parse(LINE);
Line 546: Line 544:
Console.WriteLine();
Console.WriteLine();
Console.Write(" Another test < Y /N > . . . ");
Console.Write(" Another test < Y /N > . . . ");
Console.ReadKey(true);
key = Console.ReadKey(true);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();