示例#1
0
        /// <summary>
        /// Converte para long, caso aconteça erro, retornar null
        /// </summary>
        /// <param name="value"></param>
        /// <returns>Valor convertido ou o valor null</returns>
        public static long?ToLongNullable(this IConvertible value)
        {
            try
            {
                if (value is long)
                {
                    return((long)value);
                }

                var newValue = value.ToDecimalNullable();
                if (newValue == null)
                {
                    return(null);
                }
                return((long)Math.Truncate(Convert.ToDecimal(newValue)));
            }
            catch { }
            return(null);
        }
示例#2
0
        /// <summary>
        /// Converte para int, caso aconteça erro, retornar null
        /// </summary>
        /// <param name="value"></param>
        /// <returns>Valor convertido ou o valor null</returns>
        public static int?ToIntNullable(this IConvertible value)
        {
            try
            {
                if (value is int)
                {
                    return((int)value);
                }

                var newValue = value.ToDecimalNullable();
                if (newValue == null)
                {
                    return(null);
                }
                return((int)Math.Truncate(Convert.ToDecimal(newValue)));
            }
            catch { }
            return(null);
        }