public double ToDouble()
{
if (IsNull)
throw new SqlNullValueException();
double dRet = 0.0;
dRet = _data4;
dRet = dRet * s_lInt32Base + _data3;
dRet = dRet * s_lInt32Base + _data2;
dRet = dRet * s_lInt32Base + _data1;
dRet /= System.Math.Pow(10.0, _bScale);
return IsPositive ? dRet : -dRet;
}