ToSingle() static public method

static public ToSingle ( byte buffer, int offset, int count ) : float
buffer byte
offset int
count int
return float
示例#1
0
        public float ToSingle()
        {
            switch (this.type)
            {
            case ValueHandleType.Single:
                return(this.GetSingle());

            case ValueHandleType.Double:
            {
                double d = this.GetDouble();
                if (((d >= -3.4028234663852886E+38) && (d <= 3.4028234663852886E+38)) || (double.IsInfinity(d) || double.IsNaN(d)))
                {
                    return((float)d);
                }
                break;
            }

            case ValueHandleType.Zero:
                return(0f);

            case ValueHandleType.One:
                return(1f);

            case ValueHandleType.Int8:
                return((float)this.GetInt8());

            case ValueHandleType.Int16:
                return((float)this.GetInt16());

            case ValueHandleType.UTF8:
                return(XmlConverter.ToSingle(this.bufferReader.Buffer, this.offset, this.length));
            }
            return(XmlConverter.ToSingle(this.GetString()));
        }
示例#2
0
        public float ToSingle()
        {
            ValueHandleType type = _type;

            if (type == ValueHandleType.Single)
            {
                return(GetSingle());
            }
            if (type == ValueHandleType.Double)
            {
                double value = GetDouble();

                if ((value >= float.MinValue && value <= float.MaxValue) || !double.IsFinite(value))
                {
                    return((float)value);
                }
            }
            if (type == ValueHandleType.Zero)
            {
                return(0);
            }
            if (type == ValueHandleType.One)
            {
                return(1);
            }
            if (type == ValueHandleType.Int8)
            {
                return(GetInt8());
            }
            if (type == ValueHandleType.Int16)
            {
                return(GetInt16());
            }
            if (type == ValueHandleType.UTF8)
            {
                return(XmlConverter.ToSingle(_bufferReader.Buffer, _offset, _length));
            }
            return(XmlConverter.ToSingle(GetString()));
        }
        public Single ToSingle()
        {
            ValueHandleType type = this.type;

            if (type == ValueHandleType.Single)
            {
                return(GetSingle());
            }
            if (type == ValueHandleType.Double)
            {
                double value = GetDouble();
                if ((value >= Single.MinValue && value <= Single.MaxValue) || double.IsInfinity(value) || double.IsNaN(value))
                {
                    return((Single)value);
                }
            }
            if (type == ValueHandleType.Zero)
            {
                return(0);
            }
            if (type == ValueHandleType.One)
            {
                return(1);
            }
            if (type == ValueHandleType.Int8)
            {
                return(GetInt8());
            }
            if (type == ValueHandleType.Int16)
            {
                return(GetInt16());
            }
            if (type == ValueHandleType.UTF8)
            {
                return(XmlConverter.ToSingle(bufferReader.Buffer, offset, length));
            }
            return(XmlConverter.ToSingle(GetString()));
        }