How to sort an array of strings where each string represents a decimal number in Kotlin

1 Answer

0 votes
fun main() {
    // Comparator function to sort strings as decimal numbers
    fun compareAsDecimal(a: String, b: String): Int {
        // Convert strings to float for comparison
        val numA = a.toDouble()
        val numB = b.toDouble()

        return numA.compareTo(numB)
    }

    // Input array of strings
    val numbers = listOf("12.3", "5.6", "789.1", "3.14", "456.0", "0", "0.01", "4.0")

    // Sort the array using the custom comparator
    val sortedNumbers = numbers.sortedWith(::compareAsDecimal)

    println("Sorted array of decimal strings:")
    for (num in sortedNumbers) {
        print("$num  ")
    }
}




/*
run:

Sorted array of decimal strings:
0  0.01  3.14  4.0  5.6  12.3  456.0  789.1  

*/

 



answered Sep 1 by avibootz
...