public string ToString(double value, ExpressionFormat info = null) { string text; if (value < MIN_NUMBER || value > MAX_NUMBER) { text = ExcelValue.VALUE.ToString(); } else { info ??= ExpressionFormat.General; var format = info.GetFormat(null); if (format.NeedsDate) { var date = ExcelValue.FromDateSerial(value); // Should start from beginning in order to use the overriden methods if (date.HasValue) { text = ToString(date.Value, info); } else { text = ExcelValue.NA.ToString(); } } else { text = string.Format(culture, format.Format, Convert.ToDecimal(value)); } } return(text); }
public virtual string ToString(DateTime value, ExpressionFormat info) { var format = info.GetFormat(ExpressionFormat.ShortDatePattern); if (format.NeedsDate) { return(string.Format(culture, format.Format, value)); } // Should start from beginning in order to use the overriden methods var serial = ExcelValue.ToDateSerial(value); if (serial.HasValue) { return(ToString(serial.Value, info)); } return(ExcelValue.NA.ToString()); }