Imports System
Public Class SortDecimalStrings
' Comparator method to sort strings as decimal numbers
Public Shared Function CompareAsDecimal(ByVal a As String, ByVal b As String) As Integer
' Convert strings to double for comparison
Dim numA As Double = Double.Parse(a)
Dim numB As Double = Double.Parse(b)
Return numA.CompareTo(numB)
End Function
Public Shared Sub Main(ByVal args As String())
' Input array of strings
Dim numbers As String() = {"12.3", "5.6", "789.1", "3.14", "456.0", "0", "0.01", "4.0"}
' Sort the array using the custom comparator
Array.Sort(numbers, AddressOf CompareAsDecimal)
Console.WriteLine("Sorted array of decimal strings:")
For Each num As String In numbers
Console.Write(num & " ")
Next
End Sub
End Class
' run:
'
' Sorted array of decimal strings:
' 0 0.01 3.14 4.0 5.6 12.3 456.0 789.1
'