CompareTo Method (Object)
Collapse the table of content
Expand the table of content

Decimal.CompareTo Method (Object)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Compares this instance to a specified Object and returns an integer that indicates whether the value of this instance is greater than, less than, or equal to the value of the specified Object.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Function CompareTo ( _
	value As Object _
) As Integer

Parameters

value
Type: System.Object
An Object or Nothing.

Return Value

Type: System.Int32
A signed number indicating the relationship between this instance and value.

Return Value

Meaning

Less than zero

This instance is less than value.

Zero

This instance is equal to value.

Greater than zero

This instance is greater than value.

-or-

value is Nothing.

Implements

IComparable.CompareTo(Object)

ExceptionCondition
ArgumentException

value is not a Decimal.

Any instance of Decimal, regardless of its value, is considered greater than Nothing.

Parameter value must be Nothing or an instance of Decimal; otherwise, an exception is thrown.

The following code example compares several Decimal and other objects to a reference Decimal value using the CompareTo method.


' Example of the Decimal.CompareTo and Decimal.Equals instance methods.

Module Example

   ' Get the exception type name; remove the namespace prefix.
   Function GetExceptionType(ByVal ex As Exception) As String

      Dim exceptionType As String = ex.GetType().ToString()
      Return exceptionType.Substring( _
          exceptionType.LastIndexOf("."c) + 1)
   End Function

   ' Compare the Decimal to the Object parameters, 
   ' and display the Object parameters with the results.
   Sub CompDecimalToObject(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal Left As Decimal, ByVal Right As Object, _
       ByVal RightText As String)

      outputBlock.Text &= String.Format("{0,-46}{1}", "Object: " & RightText, _
          Right) & vbCrLf
      outputBlock.Text &= String.Format("{0,-46}{1}", "Left.Equals( Object ) & vbCrLf", _
          Left.Equals(Right))
      outputBlock.Text &= String.Format("{0,-46}", "Left.CompareTo( Object )")

      ' Catch the exception if CompareTo( ) throws one.
      Try
         outputBlock.Text &= String.Format("{0}" & vbCrLf, _
             Left.CompareTo(Right)) & vbCrLf
      Catch ex As Exception
         outputBlock.Text &= String.Format("{0}" & vbCrLf, _
             GetExceptionType(ex)) & vbCrLf
      End Try
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      outputBlock.Text &= String.Format( _
          "This example of the Decimal.Equals( Object ) " & _
          "and " & vbCrLf & "Decimal.CompareTo( Object ) " & _
          "methods generates the " & vbCrLf & _
          "following output. It creates several different " & _
          "Decimal " & vbCrLf & "values and compares them " & _
          "with the following reference value." & vbCrLf) & vbCrLf

      ' Create a reference Decimal value.
      Dim Left As New Decimal(987.654)

      outputBlock.Text &= String.Format("{0,-46}{1}" & vbCrLf, _
          "Left: Decimal( 987.654 )", Left) & vbCrLf

      ' Create objects to compare with the reference.
      CompDecimalToObject(outputBlock, Left, New Decimal(987.654), _
          "Decimal( 9.8765400E+2 )")
      CompDecimalToObject(outputBlock, Left, 987.6541D, "987.6541D")
      CompDecimalToObject(outputBlock, Left, 987.6539D, "987.6539D")
      CompDecimalToObject(outputBlock, Left, _
          New Decimal(987654000, 0, 0, False, 6), _
          "Decimal( 987654000, 0, 0, false, 6 )")
      CompDecimalToObject(outputBlock, Left, 987.654, _
          "Double 9.8765400E+2")
      CompDecimalToObject(outputBlock, Left, "987.654", _
          "String ""987.654""")
   End Sub
End Module

' This example of the Decimal.Equals( Object ) and
' Decimal.CompareTo( Object ) methods generates the
' following output. It creates several different Decimal
' values and compares them with the following reference value.
' 
' Left: Decimal( 987.654 )                      987.654
' 
' Object: Decimal( 9.8765400E+2 )               987.654
' Left.Equals( Object )                         True
' Left.CompareTo( Object )                      0
' 
' Object: 987.6541D                             987.6541
' Left.Equals( Object )                         False
' Left.CompareTo( Object )                      -1
' 
' Object: 987.6539D                             987.6539
' Left.Equals( Object )                         False
' Left.CompareTo( Object )                      1
' 
' Object: Decimal( 987654000, 0, 0, false, 6 )  987.654000
' Left.Equals( Object )                         True
' Left.CompareTo( Object )                      0
' 
' Object: Double 9.8765400E+2                   987.654
' Left.Equals( Object )                         False
' Left.CompareTo( Object )                      ArgumentException
' 
' Object: String "987.654"                      987.654
' Left.Equals( Object )                         False
' Left.CompareTo( Object )                      ArgumentException


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft