public decimal ToDecimal()
{
if (IsNull)
throw new SqlNullValueException();
bool fNegative = false;
long value = _value;
if (_value < 0)
{
fNegative = true;
value = -_value;
}
return new decimal(unchecked((int)value), unchecked((int)(value >> 32)), 0, fNegative, (byte)s_iMoneyScale);
}