Эта строка:
$sizeGB="{0:N4}" -f ($subFolderItems.sum/1GB)
преобразует ($subFolderItems.sum/1GB)
в строку и сохраняет ее в переменной с именем sizeGB.
Затем в этой строке:
Sort-Object 'Size(GB)' -Descending
Вы сортируете эту строку в порядке убывания.Таким образом, вы выполняете лексическую сортировку (алфавитный порядок AKA) строк чисел.Если вы посмотрите на свои результаты, вы увидите, что они отсортированы в алфавитном порядке в порядке убывания (например, строка, начинающаяся с «6», предшествует строке, начинающейся с «5», которая предшествует строке, начинающейся с «4» и т. Д.).
Так что не преждевременно конвертируйте ваши числа в строки для целей форматирования.Форматирование объектов, возвращаемых из вашей функции, в любом случае противоречит идее PowerShell.Вы хотите иметь дело с объектами на всем протяжении, от начала до конца.Конечным потребителем должен быть тот, кто решает, как форматировать вывод.