Главная страница

Лекции. Основные понятия и определения


Скачать 1.94 Mb.
НазваниеОсновные понятия и определения
Дата27.03.2018
Размер1.94 Mb.
Формат файлаdocx
Имя файлаЛекции.docx
ТипКонтрольные вопросы
#39570
страница26 из 58
1   ...   22   23   24   25   26   27   28   29   ...   58

10.2. Тип decimal (B)


Данные этого типа занимают в памяти 16 байтов, 12 из которых отводится для целого значения со знаком. Остальные отводятся для хранения масштабирующего коэффициента, определяющего во внешнем представлении число знаков после десятичной точки. Масштабирование выполняется при задании переменной значения.

Примерный диапазон представления (по абсолютной величине):

1e-28 – 7.93e+28.

Литералы данного типа определяются добавлением в конец значения символа d.

Значение по умолчанию (как для всех числовых типов) равно 0.

Пример объявления переменных.

Dim sum1, TotalSum as Decimal

………………………………………

sum1 = 12345.678905e-15D

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

sum1 = 0.000000000012345678905D

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

Замечание. До версии Visual Basic.NET (2008) в языке существовал тип данных Currency, предназначенный для проведения денежных расчетов, который относился к десятичным данным с фиксированной точкой (4 знака после точки). В связи с тем, что платформа Visual Studio является многоязыковой средой разработки (языки C++, VB, C#, F#) и требует одинаковые типы данных для них, указанный тип, начиная с версии VS2008, был заменен на тип данных Decimal.

10.3. Тип date (B)


Данные этого типа в памяти представляются специальным форматом, точно знать который нет необходимости. Каждый элемент занимает в памяти 8 байтов. Диапазон представления дат от 1 января 0001 года до 31 декабря 9999 года, времени – от 0:00:00 до 23:59:59.

Литералы данного типа заключаются между символами #. Они могут записываться в различных форматах, однако после окончания ввода среда преобразует введенный формат даты/времени в формат, принятый в USA: m/d/yyyy h:mm:ss {AM|PM}, где m - № месяца (1 или 2 цифры в зависимости от значения), d - № дня в месяце (аналогично), yyyy – год, h – час (1 или 2 цифры), mm – минуты, ss – секунды, AM (ante meridiem – до полудня), PM (post meridiem – после полудня) – указатели 12-часовой шкалы.

Пример.

#01 Jan 2001# → #1/1/2001#

#13:03:03# → #1:03:03 PM#

#13/11/2001 5:54:56# → #11/13/2001 5:54:56 AM#

Подобное преобразование может привести к ошибке. Например, запись вида #9/3/2001# будет интерпретироваться как: 3 сентября 2001 года, тогда как, возможно, имелось в виду 9 марта 2001 года (принятый в России краткий формат даты). Поэтому разумно записывать литералы даты/времени как строки. При этом преобразования формата в среде не будет.

Пример.

"09.03.2001 18:34:30" → 9 марта 2001 года 6 часов 34 минут 30 секунд вечера

При выводе значений (печать, экран) используются установленные в пункте Пуск→Панель управления→Язык и региональные стандарты форматы (для даты – краткий, например, 11.03.2001).

Пример объявления переменных.

Dim BirthDay As Date

С данными этого типа можно манипулировать непосредственно. Например, разницу в датах можно получить так:

Dim day1, day2 As Date, day3 As Integer

day1 = #3/9/1999#

day2 = #3/10/2001#

day3 = day2 - day1

Получим 732.

Замечание. Visual Studio.NET различных версий является многоязыковой средой разработки, которую часто называют платформой .NET Framework или Dot NET (dot – точка). Она использует типы данных, общие для всех языков. В конкретных языках для обозначения типов данных используют псевдонимы для этих общих типов. Например, тип Short соответствует Int16, тип IntegerInt32. Для типа Date таким общим типом является DateTime. Тип DateTime предоставляет пользователю различные методы (функции) для обработки данных, содержащих даты и/или время. При обращении к ним перед именем метода должен стоять префикс Date или имя переменной типа Date, для которой выполняется манипуляция.

Ниже приводятся наиболее популярные функции, методы и свойства, которые разделены на 3 группы по виду обращения.

Обращение без префикса.

DateString – возвращает системную дату в формате mm-dd-yyyy.

TimeString – возвращает системное время в виде hh:mm:ss.

Now – возвращает системные дату и время в формате установок ОС.

DateAdd(интервал-литерал String, число, дата) – возвращает дату, отстоящую от дата на число интервалов. Возможные значения аргумента интервал:

- yyyy – год,

- q – квартал,

- m – месяц,

- ww – неделя,

- d – день,

- h – час,

- n – минута,

- s – секунда.

Пример.

DateAdd("m", 1, #1/31/2000#) → #02/29/2000#

DateDiff(интервал, дата1, дата2) – возвращает число интервалов между дата2 и дата1. Если дата1 > дата2, возвращается число < 0. Функция имеет 2 необязательных аргумента: первый день недели и первая неделя года и значение интервала = "w – день недели. Употребление этих значений изучить самостоятельно.

Пример.

DateDiff("d", #3/9/2000#, #3/10/2001#) → 366

DatePart(интервал, дата) – возвращает заданную интервалом часть дата. Функция также имеет 2 необязательных аргумента: первый день недели и первая неделя года. По умолчанию первым днем недели считается Воскресенье. В примере показано как с помощью символической константы сделать первым днем Понедельник. Аналогичные константы есть и для других дней недели.

Пример.

DatePart("yyyy", #3/9/2003#, vbMonday) → 2003 ' vbMonday=2

DatePart("q", #3/9/2003#, vbMonday) → 1

DatePart("m", #3/9/2003#, vbMonday) → 3

DatePart("d", #3/9/2003#, vbMonday) → 9

DatePart("ww", #3/9/2003#, vbMonday) → 10

DatePart("w", #3/9/2003#, vbMonday) → 7 ‘w – день недели

DateSerial(год, месяц, день) – возвращает значение типа Date.

Пример.

DateSerial(2014, 2, 26) → #2/26/2014#

Day(дата) – возвращает день месяца.

Weekday(дата[, 1-й день недели]) – возвращает порядковый № дня недели.

Month(дата) – возвращает № месяца.

Year(дата) – возвращает год.

ToDay – возвращает системную дату.

Timer – возвращает значение типа Double, показывающее количество секунд, прошедших с начала суток.

DateString – возвращает системную дату в виде строки.

Пример.

Day(#3/9/2003#) → 9

WeekDay(#3/9/2003#, vbMonday) → 7

Month(#3/9/2003#) → 3

Year(#3/9/2003#) → 2003

Hour(время) – возвращает целое от 0 до 23 (час аргумента).

Minute(время) – возвращает минуты (0 – 59).

Second(время) – возвращает секунды (0 – 59).

Пример.

Hour(#6:34:30 PM) → 18

Minute(#6:34:30 PM) → 34

Second(#6:34:30 PM) → 30

Обращение с префиксом имя переменной.

Используется для преобразования значения дата/время в строку.

Data1.ToString – преобразует значение типа Date в строку.

Data1.ToShortDateString – то же в короткий формат даты.

Data1.ToLongDateString - то же в длинный формат даты.

Пример.

Dim data1AsDate=”26.2.2014”

data1.ToString →26.02.2014 0:00:00

data1.ToShortDateString →26.02.2014

data1.ToLongDateString →26 февраля 2014 г.

Обращение с префиксом date.

Date.IsLeapYear(год) – возвращает True, если год високосный, False, если нет.

Date.DaysInMonth(год, месяц) – возвращает число дней в месяце заданного года.
1   ...   22   23   24   25   26   27   28   29   ...   58


написать администратору сайта