public float ReadFloat(string fieldName)
{
object token = null;
if (!ReadField(fieldName, out token))
{
return 0;
}
var value = token as double?;
if (value == null)
{
var text = token as string;
float number = 0;
if (text == null || !Single.TryParse(text, out number))
{
var integer = token as long?;
if (integer == null)
{
return 0;
}
return (float)integer;
}
return number;
}
if (value < Single.MinValue || value > Single.MaxValue)
{
return 0;
}
return (float)value;
}