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