Функция Format - Pascal

Узнай цену своей работы

Формулировка задачи:

Нигде не нашел строковый формат этой функции. Только на С#
Листинг программы
  1. String.Format("{0,10}:{1}","Создать файл ?","да"); //Создать файл ?:да
  2. String.Format("{0,-10}:{1}", "Создать файл ?","да"); // Создать файл ? :да
  3. String.Format("{0:00000}", 15); // "00015"
  4. String.Format("{0:00000}", -15); // "-00015"
  5. String.Format("{0,5}", 15); // " 15"
  6. String.Format("{0,-5}", 15); // "15 "
  7. String.Format("{0,5:000}", 15); // " 015"
  8. String.Format("{0,-5:000}", 15); // "015 "
  9. String.Format("{0:#;minus #}", 15); // "15"
  10. String.Format("{0:#;minus #}", -15); // "minus 15"
  11. String.Format("{0:#;minus #;zero}", 0); // "zero"
  12. String.Format("{0:+### ### ### ###}", 447900123456); // "+447 900 123 456"
  13. String.Format("{0:##-####-####}", 8958712551); // "89-5871-2551"
  14. String.Format("{0:0.00}", 123.4567); // "123.46"
  15. String.Format("{0:0.00}", 123.4); // "123.40"
  16. String.Format("{0:0.00}", 123.0); // "123.00"
  17. String.Format("{0:0.##}", 123.4567); // "123.46"
  18. String.Format("{0:0.##}", 123.4); // "123.4"
  19. String.Format("{0:0.##}", 123.0); // "123"
  20. String.Format("{0:00.0}", 123.4567); // "123.5"
  21. String.Format("{0:00.0}", 23.4567); // "23.5"
  22. String.Format("{0:00.0}", 3.4567); // "03.5"
  23. String.Format("{0:00.0}", -3.4567); // "-03.5"
  24. String.Format("{0:0,0.0}", 12345.67); // "12,345.7"
  25. String.Format("{0:0,0}", 12345.67); // "12,346"
  26. String.Format("{0:0.0}", 0.0); // "0.0"
  27. String.Format("{0:0.#}", 0.0); // "0"
  28. String.Format("{0:#.0}", 0.0); // ".0"
  29. String.Format("{0:#.#}", 0.0); // ""
  30. String.Format("{0,10:0.0}", 123.4567); // " 123.5"
  31. String.Format("{0,-10:0.0}", 123.4567); // "123.5 "
  32. String.Format("{0,10:0.0}", -123.4567); // " -123.5"
  33. String.Format("{0,-10:0.0}", -123.4567); // "-123.5 "
  34. String.Format("{0:0.00;minus 0.00;zero}", 123.4567); // "123.46"
  35. String.Format("{0:0.00;minus 0.00;zero}", -123.4567); // "minus 123.46"
  36. String.Format("{0:0.00;minus 0.00;zero}", 0.0); // "zero"
Для даты:
Листинг программы
  1. DateTime dt = new DateTime(2013, 11, 8, 16, 5, 7, 123);
  2. String.Format("{0:y yy yyy yyyy}", dt); // "3 13 013 2023" год
  3. String.Format("{0:M MM MMM MMMM}", dt); // "11 11 Mar March" месяц
  4. String.Format("{0:d dd ddd dddd}", dt); // "8 08 Sun Sunday" день
  5. String.Format("{0:h hh H HH}", dt); // "4 04 16 16" время 12/24
  6. String.Format("{0:m mm}", dt); // "5 05" минуты
  7. String.Format("{0:s ss}", dt); // "7 07" секунды
  8. String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
  9. String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
  10. String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
  11. String.Format("{0:z zz zzz}", dt); // "+6 +06 +06:00" временная зона
  12. String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" -english(en-US)
  13. String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" – german
  14. String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
  15. String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
  16. String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
  17. String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"
  18. String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
  19. String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"

Решение задачи: «Функция Format»

textual
Листинг программы
  1.   WriteLn( String.Format('первая{0}--{1}--{0}третья', NewLine, 13) ); // результат в 3 строки:
  2.   //                                                                        [первая]
  3.   //                                                                        [--13--]
  4.   //                                                                        [третья]
  5.   WriteLn( String.Format('{0}(10) = {0:x}(16)', 127) ); // x - предоставление результата в 16 представлении [127(10) = 7f(16)]
  6.   WriteLn( String.Format('{0}(10) = {0:x8}(16)', 127) ); // x - предоставление результата в 16 представлении [127(10) = 0000007f(16)]
  7.   WriteLn( String.Format('{0:f3}', 123.4567) ); // f - фиксировано 3 знака после запятой [123,457]
  8.   WriteLn( String.Format('{0,10:f5}', 123.456789) ); // [ 123,45679]

Объяснение кода листинга программы

  1. Первый WriteLn:
    • Функция Format используется для форматирования строки.
    • В данном коде она форматирует строку 'первая{0}--{1}--{0}третья'
    • Первая переменная NewLine заменяется на перенос строки, вторая переменная 13 заменяется на 13.
    • Результат:
      • первая
      • --13--
      • третья
  2. Второй WriteLn:
    • Строка форматируется при помощи Format, подставляются значения и выводится результат.
    • Строка '{0}(10) = {0:x}(16)' означает подстановку значения 127 дважды: первый раз как десятичное число, второй раз в шестнадцатеричном виде.
    • Результат: 127(10) = 7f(16)
  3. Третий WriteLn:
    • Форматирование строки функцией Format.
    • Строка '{0}(10) = {0:x8}(16)' означает подстановку значения 127 дважды: первый раз как десятичное число, второй раз в шестнадцатеричном виде в восьмиразрядном формате.
    • Результат: 127(10) = 0000007f(16)
  4. Четвертый WriteLn:
    • Строка форматируется при помощи Format, где подставляется значение 123.4567.
    • Строка '{0:f3}' означает, что значение будет округлено до 3 знаков после запятой.
    • Результат: 123,457
  5. Пятый WriteLn:
    • Строка форматируется функцией Format, в которой подставляется значение 123.456789.
    • Строка '{0,10:f5}' означает, что значение будет округлено до 5 знаков после запятой и будет выровнено по ширине 10 символов.
    • Результат: 123,45679 (строка начинается с пустых символов до ширины 10 символов)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы