private double ParseValueFromDmString(string value, char positiveChar)
{
if (string.IsNullOrEmpty(value))
{
return double.MinValue;
}
var direction = value[0];
value = value.Substring(1).Trim();
var index = value.IndexOf("ยบ", StringComparison.Ordinal);
var degree = value.Substring(0, index);
value = value.Substring(index + 1).Trim();
var minutes = value.Substring(0, value.IndexOf("'", StringComparison.Ordinal));
double retVal = double.Parse(degree);
retVal += double.Parse(minutes, CultureInfo.InvariantCulture) / 60;
if (retVal > 90)
{
return double.MinValue;
}
if (direction == positiveChar || direction == '-')
{
retVal *= -1;
}
return retVal;
}