https://www.nuget.org/packages/CodeJam/1.1.0-rc2
What's new in 1.1.0-rc2
-----------------------
* Contains and ContainsSuffix methods in SuffixTree
* StartingWith method in SuffixTree
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>https://www.nuget.org/packages/CodeJam/1.1.0-rc2
Возможно не сюда вопрос.
В Main->Strings->StringExtensions.Infix есть метод
[Pure]
public static double? ToDouble(
[CanBeNull] this string str,
NumberStyles numberStyle = NumberStyles.Float,
[CanBeNull] IFormatProvider provider = null)
{
double result;
return double.TryParse(str, numberStyle, provider, out result) ? (int?)result : null;
})result : null;
}
что за (int?) в возврате результата?
Здравствуйте, Vasiliy2, Вы писали:
V>что за (int?) в возврате результата?
Наверное огрехи копипаста. Поправил.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Sinix, Вы писали:
S>Уж слишком неочевидные результаты оно выдаёт для extension-метода.
Например?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
S>>Уж слишком неочевидные результаты оно выдаёт для extension-метода.
AVK>Например?
Так в тестах есть. Не, оно как бы логично, но
[TestCase(" \r\n\t\t \v -1.0 \r\n", ExpectedResult = -1.0)]
[TestCase("-Infinity", ExpectedResult = double.NegativeInfinity)]
[TestCase("-infinity", ExpectedResult = null)]
[TestCase("-1.0", ExpectedResult = -1.0)]
[TestCase("- 1.0 ", ExpectedResult = null)]
public double? ToDouble(string str) => str.ToDouble(provider: CultureInfo.InvariantCulture);
заставляет вспомнить js WAT
+ есть ещё одна эпичная мелочь, которая меня всегда убивала. В числах с плавающей точкой по умолчанию
используется
NumberStyles.Float| NumberStyles.AllowThousands
что для строк в русской или немецкой культурах приводит к
double.Parse("1,0", CultureInfo.InvariantCulture); // 10. Приятной отладки.
У нас используется просто Float, что с одной стороны упрощает жизнь, с другой добавляет путаницы.
Может, упростить до AllowLeadingSign | AllowDecimalPoint | AllowExponent, без пробелов? Ну и до AllowLeadingSign для int.