예제 #1
0
        public string ToString(Units units, UnitRenderMode renderMode = UnitRenderMode.Default)
        {
            if (!IsSpecified)
            {
                return(string.Empty);
            }
            switch (units)
            {
            case Units.Default:
            case Units.Feet:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly:
                    return(string.Format("{0}{1:0.0}'", (Sign < 0) ? "-" : "", AbsoluteFeet));

                case UnitRenderMode.SubprefixOnly:
                    return(string.Format("{0}{1:0}''", (Sign < 0) ? "-" : "", AbsoluteInches));

                default:
                    throw new NotImplementedException();
                }

            case Units.Meters:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly:
                    return(string.Format("{0}{1:0.00} m", (Sign < 0) ? "-" : "", AbsoluteMeters));

                case UnitRenderMode.SubprefixOnly:
                    return(string.Format("{0}{1:0} cm", (Sign < 0) ? "-" : "", AbsoluteCentimeters));

                default:
                    throw new NotImplementedException();
                }

            case Units.Yards:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly:
                    return(string.Format("{0}{1:0.00} yd", (Sign < 0) ? "-" : "", AbsoluteYards));

                case UnitRenderMode.SubprefixOnly:
                    return(string.Format("{0}{1:0}''", (Sign < 0) ? "-" : "", AbsoluteInches));

                default:
                    throw new NotImplementedException();
                }

            default:
                throw new NotImplementedException();
            }
        }
예제 #2
0
        public string ToString(Units units, UnitRenderMode renderMode = UnitRenderMode.Default)
        {
            if (!IsSpecified)
            {
                return(string.Empty);
            }

            switch (units)
            {
            case Units.Default:
            case Units.Feet:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly: return($"{Feet:0.0}'");

                case UnitRenderMode.SubprefixOnly: return($"{Inches:0}''");

                default: throw new NotImplementedException();
                }

            case Units.Meters:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly: return($"{Meters:0.00} m");

                case UnitRenderMode.SubprefixOnly: return($"{Centimeters:0} cm");

                default: throw new NotImplementedException();
                }

            case Units.Yards:
                switch (renderMode)
                {
                case UnitRenderMode.Default:
                case UnitRenderMode.PrefixOnly: return($"{Yards:0.00} yd");

                case UnitRenderMode.SubprefixOnly: return($"{Inches:0}''");

                default: throw new NotImplementedException();
                }

            default:
                throw new NotImplementedException();
            }
        }