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