public short ToInt16(IFormatProvider provider) { int ret; if (AsInt32(out ret) && (ret <= short.MaxValue) && (ret >= short.MinValue)) { return (short)ret; } throw new OverflowException(MathResources.BigIntWontFitShort); }