Основне меню  

   

Реклама  

Скачуйте відеуроки для створення сайту за допомогою SMS Joomla 

реклама

 

 

   

Ми в Facebook  

Калькулятор расчета пеноблоков смотрите на этом ресурсе
Все о каркасном доме можно найти здесь http://stroidom-shop.ru
Как снять комнату в коммунальной квартире смотрите тут comintour.net
   

Реклама в мережі  

   

Статистика  

Користувачі
1
Статті
184
Перегляди статей
811632
   

Пошук по сайту  

   

Ми знаходимось тут  

   

Посібник Delphi  

ДОСТУПНИЙ ВИКЛАД,

ЦІКАВІ ПРИКЛАДИ, ВИХІДНІ КОДИ.

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 500 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Посібник по C#  

 Вивчаємо сучасну мову  програмування C# 7.0

ПРОГРАМУЄМО в VISUAL STUDIO 2017

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 1000 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Випадкове фото  

   

Наш відеоканал  

   

Відвідування сайту  

Яндекс.Метрика

 

   

Відеокурс по С++  

   

Рекомендуємо:  

   

В 9 уроці  була розглянута робота з рядками в Сі-Шарп, зараз же ми поговоримо про їх форматування. Потреба у форматуванні рядків виникає досить часто (наприклад певна кількість знаків після коми для числа, або дата в потрібному форматі і т.д.).

У Сі-Шарп задавати форматування володіють такі методи:

- System.String.Format
- Console.WriteLine
- StreamWriter.Write
- ToString

Методи WriteLine і Write використовуються для виведення інформації в консоль, і при цьому дають можливість відформатувати результат. Метод Format класу String призначений конкретно для форматування. Він повертає відформатований рядок. Різниці між самим форматуванням для цих методів немає.
Форматування в методі ToString можна задати тільки для чисел і дат.

Загальна структура форматування рядків має наступний вигляд:

String.Format ( "рядок формату", arg0, arg1, ..., argn);
arg0 і arg1 тут - аргументи форматування (числа, рядки, дати, і т. д.), з яких в результаті буде створено нову відформатована рядок.

Рядок формату може містити звичайні символи, які будуть відображені в тому вигляді, в якому вони задані, і команди форматування. Команда форматування полягає в фігурні дужки і має наступну структуру:

{[Номер аргументу], [ширина]: [формат]}
За [номеру аргументу] вказується до якого аргументу буде застосовано даний команда (відлік аргументів починається з нуля).
[Ширина] задає мінімальний розмір поля.
[Формат] - специфікатор формату.

Параметри [ширина] і [формат] не є обов'язковими.

Приклад простого форматування:

string formattedString = string.Format ("Result is {0}", 5); // "Result is 5"

Тут на місце команди {0} підставляється 0-й аргумент.

int num1 = 5, num2 = 3;
string formattedString = string.Format ("{0} + {1} = {2}", num1, num2, num1 + num2); // "5 + 3 = 8"
Console.WriteLine (formattedString);
Console.ReadLine (); 

Параметр "ширина"

Іноді необхідно відформатувати рядки, що містять числа, щоб вони були вирівняні по лівому або правому краю і мали однакову довжину. До числа, яке має менше символів, ніж значення ширини, будуть додані прогалини зліва (позитивна ширина) або праворуч (негативна ширина):

Console.WriteLine ( "Result is {0, 6}", 1.2789);
Console.WriteLine ( "Result is {0, 6}", 7.54);
Console.WriteLine ( "Result is {0, -6}", 1.2789);
Console.WriteLine ( "Result is {0, -6}", 7.54);

В результаті вийде, що в перших двох рядках числа вирівняні по правому краю, в двох інших по лівому:

Result is 1,2789
Result is 7,54
Result is 1,2789
Result is 7,54

Вбудовані формати числових даних

А тепер ми розглянемо параметр команди форматування після двокрапки - формат. Для числових аргументів визначено цілий ряд форматів, всі вони описані в таблиці 1. Майже для всіх форматів можна також задати точність. Наприклад, формат для чисел з фіксованою точкою «f» за замовчуванням виводить не більш двох знаків після точки. Щоб задати 4 знака - потрібно вказати після зазначення формату необхідне число, «f4».

Таблиця1   

Спеціальний символ

Формат

Опис

c/C

Грошова одиниця

Вказує кількість десяткових знаків

d/D

Цілі числа

Вказує мінімальну кількість цифр. При необхідності додаються нулі

e/E

Експотенціальні числа

Вказує кількість десякових знаків

f/F

Числа з фіксованою точкою

Вказує кількість десяткових знаків

g/G

Формати e/E і g/G

Викоритсовує більш короткий формат із двох: f/F и g/G

n/N

Числа  з фіксованою точкой з відділенням груп розрядів

Вказує кількість десяткових знаків

p/P

Відсотки

Множить число на 100 і виводить із знаком відсотків. Вказує кількість десяткових знаків

r/R

Формат кругового перетвоення. Тільки фіксовна точка

Форматує число в рядок таким чином, що його можно повторно перетворити назад без втрат точноссті

x/X

Шістнадцяткові числа

Вказує мінімальну кількість цифр. При необхідності додаються нулі

 Приклад використання деяких з вбудованих форматів:

Console.WriteLine ("{0: c}", 5.50); // "5,50 грн."
Console.WriteLine ("{0: c1}", 5.50); // "5,5 грн."
Console.WriteLine ("{0: e}", 5.50); // "5,500000е +000"
Console.WriteLine ("{0: d}", 32); // "32"
Console.WriteLine ("{0: d4}", 32); // "0032"
Console.WriteLine ("{0: p}", 0.55); // "55,00%"

Призначений для користувача формат числових даних. У таблиці 1 були описані стандартні формати для числових даних, але іноді необхідно визначити певний власний формат. Щоб створити власні форматів використовуються спеціальні символи (Таблиця 2):

 Таблиця 2   

Спеціальный символ

Значення

0

Цифра або нуль

#

Цифра

.

Розділювач дробу

,

Розділювач тисяч

%

Відсоток

e

Експонента

;

Визначає розділи, які описують формати для додатніх, від’ємних чисел і нуля

\

Екранування спеціальних символів. Дає можливість вставляти спец-символи як текст

 Приклад використання користувальницьких форматів:

Console.WriteLine ( "{0: 0000.00}", 1024.32); // "1024,32"
Console.WriteLine ( "{0: 00000.000}", 1024.32); // "01024,320"
Console.WriteLine ( "{0: ####. ###}", 1024.32); // "1024,32"
Console.WriteLine ( "{0: ####. #}", 1024.32); // "1024,3"
Console.WriteLine ( "{0: #, ###. ##}", 1024.32); // "1 024,32"
Console.WriteLine ( "{0: ##%}", 0.32); // "32%"
Console.WriteLine ( "{0: <####. ###>; [####. ###]; нуль}", 1024.32); // "<1024,32>"
Console.WriteLine ( "{0: <####. ###>; [####. ###]; нуль}", -1024.32); // "[1024,32]"
Console.WriteLine ( "{0: <####. ###>; [####. ###]; нуль}", 0); // "нуль"


Тут варто відзначити, що якщо кількість цифр цілої частини числа більше ніж кількість символів «0» або «#» в форматі, ціла частина числа все одно буде виводитися повністю.

Вбудовані формати дати і часу

Для роботи з датою і часом існує окремий набір стандартних форматів. Дані формати наведені в таблиці 3:

Таблиця 3 

Спеціальний символ

Формат

Приклад

d

Коротка дата

30.06.2014

D

Довгий формат дата

30 червня 2014 р.

t

Короткий час

22:30

T

Довгий формат часу

22:30:10

f

Довга дата/короткий формат часу

30 червня 2014 р. 22:30

F

Довга дата/довгий формат часу

30 червня 2014 р. 22:30:10

g

Коротка дата/короткий формат часу

30.06.2014 22:30

G

Коротка дата/довгий формат часу

30.06.2014 22:30:10

M/m

Місяць і день

червня 30

O/o

Обернений

2014-06-30T22:30:10.0000000

R/r

RFC1123

Mon, 30 Jun 2014 22:30:10 GMT

s

Для сортування

2014-06-30T22:30:10

u

Локальне, в універсальному форматі

2014-06-30 22:30:10Z

U

GMT

30 червня 2014 р. 19:30:10

Y

Рік і місяць

Червень 2014

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Приклад використання стандартних форматів дати і часу:

Console.WriteLine ("{0: d}", DateTime.Now); // "30.06.2014"
Console.WriteLine ("{0: D}", DateTime.Now); // "30 червня 2014 р."
Console.WriteLine ("{0: t}", DateTime.Now); // "2:57"
Console.WriteLine ("{0: T}", DateTime.Now); // "2:57:53"
Console.WriteLine ("{0: U}", DateTime.Now); // "29 червня 2014 р. 23:57:53"
Console.WriteLine ("{0: Y}", DateTime.Now); // "Червень 2014 р."


Призначений для користувача формат дати і часу

Як і у випадку з числовими даними, для дати і часу можна визначати для користувача формат. Для цього використовуються спеціальні символи, які наведені в таблиці 4 (на прикладі дати 30.06.2014 22: 30: 10.1234):

Таблиця 4
 
 
 
 
 
 
 
 
 
 
 

Спеціальний символ

Значення

Результат

y

Рік 0-9

4

yy

Рік 00-99

14

yyyy

Рік, 4 цифри

2014

M

Місяць 1-12

6

MM

Місяць 01-12

06

d

День 1-31

0

dd

День 01-31

30

h

Час 1-12

2

hh

Час 01-12

10

H

Час 1-24

22

H

Час 01-24

22

m

Хвилина 0-59

30

mm

Хвилина 00-59

30

s

Секунда 0-59

10

ss

Секунда 00-59

10

f – ffffff

Долі секунди

12 (для ff)

F-FFFFFF

Долі секунди, якщо вони не дорівнюють 0

12 (для ff)

MMM

Скорочене імя місяця

Черв

MMMM

Назва місяця

Червень

ddd

Скорочена назва дня тижня

Пн

dddd

назва дня тижня

понеділок

tt

Маркер для "AM" і "PM" 12-годинного формату

PM

zz

Зміщення часової зони, коротке

+03

zzz

Зміщення часової зони, повне

+03:00

gg

Ера

A.D.

:

Роздільник часу

22:30:10

/

Роздільник дати

30.06.2014

\

Екранування

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Приклад використання користувальницьких форматів дати і часу:

Console.WriteLine ("{0: y yy yyy yyyy}", DateTime.Now); // "14 14 2014 2014"
Console.WriteLine ("{0: d dd ddd dddd}", DateTime.Now); // "30 30 Пн понеділок"
Console.WriteLine ("{0: M MM MMM}", DateTime.Now); // "6 06 Чер"
Console.WriteLine ("{0: HH.mm.ss dd-MMM-yyyy}", DateTime.Now); // "03.21.22 30-Jun-2014"
Console.WriteLine ("{0: z zz zzz}", DateTime.Now); // "+3 +03 +03: 00"


Форматування з використанням методу ToString

Всі правила форматування, описані вище, можуть бути використані в перевантаженому методі ToString для чисел і дат:

Console.WriteLine (DateTime.Now.ToString ("dd MMM yyyy")); // 30 Чер 2014

Регіональні параметри CultureInfo
 
 У прикладах вище стандартні параметри культури. Гроші виводилися в рублях, назви місяців, днів російською мовою. CultureInfo також впливає на роздільник в числах, кількість символів після точки за замовчуванням і інше. Іноді виникає потреба змінити це, і для цього використовується CultureInfo. За замовчуванням CultureInfo відповідає настроюванням Windows (наприклад російські регіональні настройки). Щоб задати власну культуру при форматуванні, використовуючи метод Format, необхідно в конструктор цього методу першим аргументом передати об'єкт CultureInfo.

У прикладі нижче поточний день виводиться з поточними настройками CultureInfo (російськими), з англійськими (англійська Сполучених Штатів), і з українськими:
 
У прикладах вище стандартні параметри культури. Гроші виводилися в рублях, назви місяців, днів російською мовою. CultureInfo також впливає на роздільник в числах, кількість символів після точки за замовчуванням і інше. Іноді виникає потреба змінити це, і для цього використовується CultureInfo. За замовчуванням CultureInfo відповідає настроюванням Windows (наприклад російські регіональні настройки). Щоб задати власну культуру при форматуванні, використовуючи метод Format, необхідно в конструктор цього методу першим аргументом передати об'єкт CultureInfo.

У прикладі нижче поточний день виводиться з поточними настройками CultureInfo (російськими), з англійськими (англійська Сполучених Штатів), і з українськими: 
 
 Домашнє завдання

Є масив дат (з часом) і масив температур, і вони відповідають один одному. Температури в масиві мають вигляд в форматі: «26.3 27.1 30 24.7 25». Необхідно вивести інформацію таким чином:

Чер 30 (Пн) 09:31> 26,3 ° C
Чер 30 (Пн) 10:31> 27,1 ° C
Чер 30 (Пн) 11:31> 30,0 ° C

Дробова частина температури повинна обов'язково бути довжиною в один знак, навіть якщо температура ціла.
 
 

 

Додати коментар

Захисний код
Оновити

   

Поділіться з друзями

 
   

Сайт для перевірки своїх знань з програмування на сайті:http://www.quizful.net/test

Онлайн тести  для програмістів: https://proghub.ru/


 Розробка сайтів, інтернет-магазинів під ключ. Створення програмного забезпечення для обліку в магазинах,

гуртовнях, ведення власного бізнесу та інших. Написання дипломних та курсових робіт з програмування, баз даних.

 

Звертайтесь за адресою email:kuzbyt@ukr.net

 

 

© (C) Sambir, I.Kuzbyt