Display sample values in Decimal Degree, Angle and Radian formats.
[C#]
/// <summary> /// Display sample values in Decimal Degree, Angle and Radian formats. /// </summary> /// <remarks></remarks> public void DecimalDegreeAngleRadianExample() { // Create an AngleFormat object and set AngleFormat options through the IAngleFormat interface ESRI.ArcGIS.esriSystem.IAngleFormat angleFormat = new ESRI.ArcGIS.esriSystem.AngleFormatClass(); angleFormat.AngleInDegrees = true; //Input values are in degrees angleFormat.DisplayDegrees = true; //Display formatted numbers in degrees // Set NumericFormat options through the INumericFormat interface. This step is not necessary // unless you want to change the INumericFormat default properties. Comment this block of // code out to see how it changes the format! ESRI.ArcGIS.esriSystem.INumericFormat numericFormat = (ESRI.ArcGIS.esriSystem.INumericFormat)angleFormat; numericFormat.AlignmentOption = ESRI.ArcGIS.esriSystem.esriNumericAlignmentEnum.esriAlignRight; numericFormat.RoundingOption = ESRI.ArcGIS.esriSystem.esriRoundingOptionEnum.esriRoundNumberOfDecimals; numericFormat.AlignmentWidth = 16; numericFormat.RoundingValue = 5; numericFormat.ShowPlusSign = true; numericFormat.UseSeparator = false; numericFormat.ZeroPad = false; // The ValueToString & StringToValue methods are in the INumberFormat interface. ESRI.ArcGIS.esriSystem.INumberFormat numberFormat = (ESRI.ArcGIS.esriSystem.INumberFormat)angleFormat; //= pNumericFormat could be used here as well // Format some angular numbers in degree format System.Double double_DecimalDegree = 0; System.String string_ValueToString = null; System.Double double_StringToValue = 0; for (double_DecimalDegree = -180; double_DecimalDegree <= 180; double_DecimalDegree += 90) { string_ValueToString = numberFormat.ValueToString(double_DecimalDegree); double_StringToValue = numberFormat.StringToValue(string_ValueToString); System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString() + ") = '" + string_ValueToString + "'" + System.Environment.NewLine + "StringToValue('" + string_ValueToString + "') = " + double_StringToValue.ToString(), "AngleFormat - Degree Format"); } // Display radian values. A degree-to-radian conversion takes place in the ValueToString //method, and a radian-to-degree conversion takes place in the StringToValue method. angleFormat.DisplayDegrees = false; for (double_DecimalDegree = -180; double_DecimalDegree <= 180; double_DecimalDegree += 90) { string_ValueToString = numberFormat.ValueToString(double_DecimalDegree); double_StringToValue = numberFormat.StringToValue(string_ValueToString); System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString() + ") = '" + string_ValueToString + "'" + System.Environment.NewLine + "StringToValue('" + string_ValueToString + "') = " + double_StringToValue.ToString(), "AngleFormat - Radian Format"); } }
[Visual Basic .NET]
''' <summary> ''' Display sample values in Decimal Degree, Angle and Radian formats. ''' </summary> ''' <remarks></remarks> Public Sub DecimalDegreeAngleRadianExample() ' Create an AngleFormat object and set AngleFormat options through the IAngleFormat interface Dim angleFormat As ESRI.ArcGIS.esriSystem.IAngleFormat = New ESRI.ArcGIS.esriSystem.AngleFormatClass angleFormat.AngleInDegrees = True 'Input values are in degrees angleFormat.DisplayDegrees = True 'Display formatted numbers in degrees ' Set NumericFormat options through the INumericFormat interface. This step is not necessary ' unless you want to change the INumericFormat default properties. Comment this block of ' code out to see how it changes the format! Dim numericFormat As ESRI.ArcGIS.esriSystem.INumericFormat = CType(angleFormat, ESRI.ArcGIS.esriSystem.INumericFormat) numericFormat.AlignmentOption = ESRI.ArcGIS.esriSystem.esriNumericAlignmentEnum.esriAlignRight numericFormat.RoundingOption = ESRI.ArcGIS.esriSystem.esriRoundingOptionEnum.esriRoundNumberOfDecimals numericFormat.AlignmentWidth = 16 numericFormat.RoundingValue = 5 numericFormat.ShowPlusSign = True numericFormat.UseSeparator = False numericFormat.ZeroPad = False ' The ValueToString & StringToValue methods are in the INumberFormat interface. Dim numberFormat As ESRI.ArcGIS.esriSystem.INumberFormat = CType(angleFormat, ESRI.ArcGIS.esriSystem.INumberFormat) '= pNumericFormat could be used here as well ' Format some angular numbers in degree format Dim double_DecimalDegree As System.Double Dim string_ValueToString As System.String Dim double_StringToValue As System.Double For double_DecimalDegree = -180 To 180 Step 90 string_ValueToString = numberFormat.ValueToString(double_DecimalDegree) double_StringToValue = numberFormat.StringToValue(string_ValueToString) System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString + ") = '" + string_ValueToString + "'" + System.Environment.NewLine + _ "StringToValue('" + string_ValueToString + "') = " + double_StringToValue.ToString, _ "AngleFormat - Degree Format") Next ' Display radian values. A degree-to-radian conversion takes place in the ValueToString ' method, and a radian-to-degree conversion takes place in the StringToValue method. angleFormat.DisplayDegrees = False For double_DecimalDegree = -180 To 180 Step 90 string_ValueToString = numberFormat.ValueToString(double_DecimalDegree) double_StringToValue = numberFormat.StringToValue(string_ValueToString) System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString + ") = '" + string_ValueToString & "'" + System.Environment.NewLine + _ "StringToValue('" + string_ValueToString + "') = " + double_StringToValue.ToString, _ "AngleFormat - Radian Format") Next End Sub