У меня есть статический метод, который берет строку для ввода и возвращает исходную строку ввода, если строка представляет число. Если строка не представляет число, входная строка обрабатывается и возвращается преобразованная строка. Я пишу тестовые примеры. Я пытаюсь проверить, что строка ввода, содержащая либо double.MinValue
, либо double.MaxValue
, возвращается без изменений. Я прочитал несколько форумов, включая StackOverflow, и придумал следующую логику:
string doubleMax = double.MaxValue.ToString();
double d;
CultureInfo cultureInfo = new CultureInfo("en-US", true);
if (Double.TryParse(doubleMax, NumberStyles.Any, cultureInfo.NumberFormat, out d))
{
Console.WriteLine("parsed");
}
else
{
Console.WriteLine("couldn't parse");
}
Проблема: Double.TryParse()
всегда возвращает false. Я вызвал TryParse()
по-разному, но результат всегда один и тот же, false.
Эта логика работает, если я использую decimal.MinValue()
, int.MinValue()
или float.MinValue()
.
Может кто-нибудь сказать мне, почему моя логика не работает для double.MinValue
?