28 lines
1001 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|