public static Single ToSingle(string s)
{
s = TrimString(s);
if (s == "-INF") return Single.NegativeInfinity;
if (s == "INF") return Single.PositiveInfinity;
float f = Single.Parse(s, NumberStyles.AllowLeadingSign | NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent, NumberFormatInfo.InvariantInfo);
if (f == 0 && s[0] == '-')
{
return -0f;
}
return f;
}