Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Турчин Д.Е. Лабораторный практикум по Информ. т...doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
5.34 Mб
Скачать

8.2.2. Типы данных в Visual Basic .Net. Целочисленные и вещественные типы. Преобразование типов

Данные, с которыми работает программа, хранятся в оперативной памяти. Компилятору необходимо точно знать, сколько места они занимают, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа.

Тип данных определяет:

внутреннее представление данных (способ кодирования, длина кодовых слов, а также диапазон возможных значений);

допустимые действия над данными (операции и функции).

Выбор наиболее подходящего типа для представления данных является необходимым условием создания эффективных программ.

В VB .NET типы данных являются классами и имеют собственные свойства, методы и события.

По способу определения типы данных можно разделить на встроенные (стандартные) и определяемые программистом. Встроенные типы не требуют предварительного определения. Для каждого встроенного типа существует ключевое слово (например, Integer, Boolean, String), которое используется при описании переменных, констант и т. д. Описание собственного типа данных должно включать всю информацию, необходимую для его использования (внутреннее представление и допустимые действия).

Встроенные типы VB .NET представлены в табл. 8.1. Они однозначно соответствуют стандартным классам библиотеки .NET, определенным в пространстве имен System. Как видно из табл. 8.1 в VB .NET существует несколько вариантов представления целых и вещественных чисел.

Таблица 8.1

Встроенные типы Visual Basic .NET

Тип

Тип .NET

Диапазон значений

Описание

Размер, байт

Byte

Byte

От 0 до 255

Целые числа без знака

1

Short

Int16

От –32768 до 32767

Целые числа со знаком

2

Integer

Int32

От –2∙109 до 2∙109

Целые числа со знаком

4

Long

Int64

От –9∙1018 до 9∙1018

Целые числа со знаком

8

Single

Single

От 1.401∙10–45 до 3.403∙1038 для положительных значений;

от –3.403∙1038 до

–1.401∙10–45 для отрицательных значений;

также включается 0

Вещественные числа

4

Double

Double

От 4.941∙10–324 до 1.798∙10308 для положительных значений;

от –1.798∙10308 до

–4.941∙10–324 для отрицательных значений;

также включается 0

Вещественные числа

8

Decimal

Decimal

От 1.0∙10–28 до 7.9∙1028 для положительных значений;

от –7.9∙1028 до

–1.0∙10–28 для отрицательных значений;

также включается 0

Вещественные числа

16

Char

Char

От 0 до 65535

Unicode-символ

2

String

String

От 0 до 2 миллиардов символов

Строка из Unicode-символов

Переменная длина

Boolean

Boolean

True или False

Логическая величина

2

Date

DateTime

От 01.01.0001 до 31.12.9999, т.е. от 1 января 1 года н.э. до 31 декабря 9999 года

Дата

8

Object

Object

Можно хранить все, что угодно

Всеобщий предок

Тип Object предназначен для хранения данных любого типа. Он играет роль базового класса для всех остальных типов VB .NET.

Целочисленные типы служат для представления целых чисел, используемых для целочисленных операций, а также в качестве индексов (например, в циклах). В VB .NET представлены четыре целочисленных типа данных: Byte, Short, Integer, Long.

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

В отличии от других целочисленных типов тип Byte является беззнаковым и чаще всего используется для хранения двоичных данных или для работы с символами ASCII.

Вещественные типы предназначены для представления чисел с плавающей точкой и предназначены для выполнения математических операций с дробными числами. К вещественным типам в VB .NET относятся Single, Double, Decimal.

Типы Single и Double имеют более широкий диапазон значений, чем тип Decimal, но в отличие от последнего, они используют меньше значащих цифр для представления числа. Таким образом, тип Decimal обеспечивает более высокую точность расчетов.

Значения переменных типа Single и Double могут быть записаны в виде чисел с десятичной точкой (например, 5.7318) или в экспоненциальном представлении (например, 5.62Е-8).

К основным полям типов Single и Double относятся:

MaxValue – содержит максимально возможное значение данного вещественного типа;

MinValue – содержит минимально возможное значение данного вещественного типа;

Epsilon – содержит наименьшее положительное значение, определяющее предельно возможную точность вычислений при работе с данным вещественным типом;

PositiveInfinity – предназначено для представления положительной бесконечности (например, результата 1.0 / 0);

NegativeInfinity – предназначено для представления отрицательной бесконечности (например, результата –1.0 / 0);

NaN – определяет специальную константу, которая служит для представления значения, не являющегося числом (например, результата 0 / 0 или ).

Можно отметить следующие методы типов Single и Double:

IsInfinity – возвращает True, если значение равно бесконечности, и False – если не равно;

IsNaN – возвращает True, если значение не является числом, и False – если является;

Parse – преобразует строку к соответствующему вещественному типу.

Тип Decimal используется для выполнения финансовых вычислений, где допускается лишь небольшая ошибка округления. При вычислениях ошибки округления накапливаются, и при определенном сочетании значений это может привести к результату, в котором не будет ни одной верной значащей цифры. Величины типа Decimal позволяют хранить 28 десятичных разрядов.

Чаще всего в программах для представления вещественных чисел используется тип Double, поскольку его диапазон и точность покрывают большинство потребностей. Этот тип имеют вещественные константы и многие математические функции.

При работе с числами, которые имеют целую и дробную части, в качестве разделителя может использоваться либо точка, либо запятая. Вид разделителя зависит от настроек Windows и может быть изменен.

При вычислении выражений может возникнуть необходимость в преобразовании типов. Если операнды, входящие в выражение, одного типа и операция для этого типа определена, то результат выражения будет иметь тот же тип.

В VB .NET преобразования значений любого типа к соответствующему типу данных можно осуществить с помощью функций (в скобках указан тип данных, к которому приводится значение): CBool(Boolean), CByte(Byte), CChar(Char), CDate(Date), CDbl(Double), CDec(Decimal), CInt(Integer), CLng(Long), CObj(Object), CSng(Single), CStr(String), CShort (Short).

Кроме указанных функций преобразования в VB .NET существует функция CType, которая возвращает преобразованный к заданному типу результат выражения. Данная функция имеет следующий синтаксис:

CType(Выражение, Тип_данных)

Все типы данных имеют метод ToString (метод класса Object), который преобразует значение переменной этого типа в строку. Кроме того, у разных типов данных существует большое количество собственных методов, которые выполняют различные преобразования типов (например, тип Decimal имеет методы ToByte, ToSingle, ToDouble и др.).