Есть ли способ (без явного кодирования) отобразить число, используя метрические префиксы? - PullRequest
3 голосов
/ 26 мая 2010

Этот вопрос относится к Этот вопрос об использовании некоторых функций проводника Windows автоматически в приложении Delphi.

Есть ли способ автоматически отформатировать целое число с использованием префиксов метрик в Delphi? Каким-то образом автоматически получить результат, как Windows Explorer дает? Я имею в виду автоматическое преобразование 1024 в 1,0 К.

скажем, что-то вроде

FormatMetric('FileSize = %d', [26112], 1,'B')
// where the third parameter is the number of decimal digits
// and the fourth is the string that is appended

вернет

25.5 KB

Конечно, я могу написать это, но есть ли в RTL что-то подобное?

1 Ответ

6 голосов
/ 26 мая 2010

Вам нужен вызов Windows API StrFormatByteSizeA.

См. MSDN: http://msdn.microsoft.com/en-us/library/bb759974%28VS.85%29.aspx

...