import Foundation
// Comparator function to sort strings as decimal numbers
func compareAsDecimal(_ a: String, _ b: String) -> Bool {
// Convert strings to float for comparison
let numA = Double(a) ?? 0.0
let numB = Double(b) ?? 0.0
return numA < numB
}
// Input array of strings
var numbers = ["12.3", "5.6", "789.1", "3.14", "456.0", "0", "0.01", "4.0"]
// Sort the array using the custom comparator
numbers.sort(by: compareAsDecimal)
print("Sorted array of decimal strings:")
for num in numbers {
print("\(num) ", terminator: "")
}
/*
run:
Sorted array of decimal strings:
0 0.01 3.14 4.0 5.6 12.3 456.0 789.1
*/