예제 #1
0
        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);
        }
예제 #2
0
        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());
        }