Example #1
0
    private static double Round(double total, TimeStringFormatter.Rounding rounding, int decimalPlaces, double fancyUnits)
    {
        if (total <= 0)
        {
            return(0);
        }
        switch (rounding)
        {
        case TimeStringFormatter.Rounding.Floor:
        {
            return(Math.Floor(total));
        }

        case TimeStringFormatter.Rounding.Ceiling:
        {
            return(Math.Ceiling(total));
        }

        case TimeStringFormatter.Rounding.Round:
        {
            return(Math.Round(total));
        }

        case TimeStringFormatter.Rounding.Decimal:
        {
            fancyUnits    = 1;
            decimalPlaces = 0;
            break;
        }

        case TimeStringFormatter.Rounding.RoundedDecimal:
        {
            fancyUnits = 1;
            break;
        }

        case TimeStringFormatter.Rounding.FancyDecimal:
        {
            decimalPlaces = 0;
            break;
        }
        }
        if (decimalPlaces == 0)
        {
            return(total);
        }
        double num = Math.Floor(total);

        return(num + Math.Floor((total - num) * fancyUnits * ((double)decimalPlaces * 10)) / (10 * (double)decimalPlaces));
    }
Example #2
0
    public string GetFormattingString(TimeSpan timePassed, TimeStringFormatter.Rounding rounding)
    {
        string str;
        object obj;
        string str1;
        int    num  = 2;
        int    num1 = num;
        double num2 = 1;
        double num3 = num2;
        double num4 = TimeStringFormatter.Round(timePassed.TotalSeconds, rounding, num, num2);

        if (num4 <= 0)
        {
            str = this.lessThanASecond;
        }
        else if (num4 == 1)
        {
            str = this.aSecond;
        }
        else if (num4 >= 60)
        {
            int num5 = 2;
            num1 = num5;
            double num6 = 0.6;
            num3 = num6;
            double num7 = TimeStringFormatter.Round(timePassed.TotalMinutes, rounding, num5, num6);
            num4 = num7;
            if (num7 == 1)
            {
                str = this.aMinute;
            }
            else if (num4 >= 60)
            {
                int num8 = 2;
                num1 = num8;
                double num9 = 1;
                num3 = num9;
                double num10 = TimeStringFormatter.Round(timePassed.TotalHours, rounding, num8, num9);
                num4 = num10;
                if (num10 == 1)
                {
                    str = this.aHour;
                }
                else if (num4 >= 24)
                {
                    int num11 = 2;
                    num1 = num11;
                    double num12 = 0.24;
                    num3 = num12;
                    double num13 = TimeStringFormatter.Round(timePassed.TotalDays, rounding, num11, num12);
                    num4 = num13;
                    str  = (num13 != 1 ? this.days : this.aDay);
                }
                else
                {
                    str = this.hours;
                }
            }
            else
            {
                str = this.minutes;
            }
        }
        else
        {
            str = this.seconds;
        }
        if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
        {
            if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
            {
                if (num1 != 2)
                {
                    throw new NotSupportedException("We gotta add support for that");
                }
                str1 = num4.ToString("0.00");
            }
            else
            {
                str1 = num4.ToString();
            }
            obj = (rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal ? str1.Replace('.', ':') : str1);
        }
        else
        {
            obj = (rounding == TimeStringFormatter.Rounding.Decimal || double.IsNaN(num4) || double.IsInfinity(num4) ? num4 : (int)num4);
        }
        return(string.Format(str, obj));
    }