static public double ToDouble(byte[] buffer, int offset, int count) { double value; if (TryParseDouble(buffer, offset, count, out value)) return value; return ToDouble(ToString(buffer, offset, count)); }
public double ToDouble() { switch (this.type) { case ValueHandleType.Double: return(this.GetDouble()); case ValueHandleType.Single: return((double)this.GetSingle()); case ValueHandleType.Zero: return(0.0); case ValueHandleType.One: return(1.0); case ValueHandleType.Int8: return((double)this.GetInt8()); case ValueHandleType.Int16: return((double)this.GetInt16()); case ValueHandleType.Int32: return((double)this.GetInt32()); case ValueHandleType.UTF8: return(XmlConverter.ToDouble(this.bufferReader.Buffer, this.offset, this.length)); } return(XmlConverter.ToDouble(this.GetString())); }