common/Ui/GenesisToolBox/Infrastructure/ParseExtensions.cs
2026-04-23 17:50:07 +02:00

28 lines
1001 B
C#

namespace Xylem.Common.Ui.GenesisToolBox.Infrastructure
{
using System.Globalization;
using System.Threading;
internal static class ParseExtensions
{
private static readonly NumberStyles any = NumberStyles.Any;
private static readonly CultureInfo de = new CultureInfo("de-DE");
private static readonly CultureInfo us = new CultureInfo("en-US");
private static bool IsDECulture => Thread.CurrentThread.CurrentCulture.Name.ToLower().Contains("de");
internal static bool TryParse(this string stringValue, out double value)
{
if (IsDECulture)
{
return double.TryParse(stringValue, any, de, out value)
|| double.TryParse(stringValue, any, us, out value);
}
else
{
return double.TryParse(stringValue, any, us, out value)
|| double.TryParse(stringValue, any, de, out value);
}
}
}
}