/// <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); }
/// <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); }