Тип данных Double — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Содержит числа с плавающей запятой с двойной точностью со знаком IEEE 64-разрядной (8-байтовой) с плавающей запятой, которые варьируются от -1,79769313486231570E+308 до -4.
94065645841246544E-324 для отрицательных значений и от 4,94065645841246544E-324 до 1,79769313486231570E+308 для положительных значений. Числа двойной точности хранят приближение реального числа.
Тип Double данных предоставляет наибольшее и наименьшее возможные величины для числа.
Значение по умолчанию для типа Double — 0.
Советы по программированию
Точность. При работе с числами с плавающей запятой помните, что они не всегда имеют точное представление в памяти. Это может привести к непредвиденным результатам определенных операций, таких как сравнение значений
Modи оператор. Дополнительные сведения см. в разделе «Устранение неполадок типов данных».Конечные нули.
Типы данных с плавающей запятой не имеют внутреннего представления конечных нулевых символов. Например, они не различают 4.2000 и 4.2. Следовательно, конечные нулевые символы не отображаются при отображении или печати значений с плавающей запятой.
Символы типов. При добавлении к литералу символа типа литерала
Rпроизводится принудительное приведение литерала к типу данныхDouble. Например, если за целочисленным значениемRследует, значение изменяется наDouble.' Visual Basic expands the 4 in the statement Dim dub As Double = 4R to 4.0: Dim dub As Double = 4.0R
При добавлении символа идентификатора типа
#к любому идентификатору производится принудительное приведение этого идентификатора к типуDouble. В следующем примере переменнаявводится в виде: numDoubleDim num# = 3
Тип Framework. В .NET Framework данный тип соответствует структуре System.Double.
См. также раздел
- System.Double
- Типы данных
- Тип данных Decimal
- Тип данных Single
- Type Conversion Functions
- Сводка по преобразованию
- Эффективное использование типов данных
- Устранение неполадок, связанных с типами данных
- Символы типов
Double, Float — не вещественные числа / Хабр
Во многих источниках тип double и float, числа с плавающей запятой/точкой зачем-то называют вещественными.
Такое чувство что кто-то когда-то совершил ошибку или не внимательно написал эту глупость и все как один начали её повторять, совершенно не задумываясь о чём они говорят.
Ладно это были бы просто троечники студенты и любители, так эту ошибку говорят и те, кто обучают специалистов. И эта проблема терминологии не одного ЯП, их правда много (Java, C++, C#, Python, JS и т.д.) везде, где бы я не искал, всегда находятся статьи, ответы, лекции, где дробные числа называют вещественными!
Вот ОЧЕНЬ МАЛЕНЬКАЯ выборка:
https://javarush.ru/quests/lectures/questsyntaxpro.level04.lecture06 — JavaRush
https://docs-python.ru/tutorial/osnovnye-vstroennye-tipy-python/tip-dannyh-float-veschestvennye-chisla/ — Docs Python3
http://cppstudio.com/post/310/ — CppStudio
https://ejudge.ru/study/3sem/sem07.pdf — Ejudge
https://ru.wikipedia.org/wiki/Система_типов_Си — даже всеми любимая Wikipedia!
Ещё раз повторюсь это очень маленькая выборка, можете набрать в гугл поиске, по ключевым словам, и удостовериться что их полно.

Начнём с простого, что такое вещественное число коим называют double и float. Будет немного формул, но не пугайтесь, прочитайте пожалуйста до конца, они очень простые, к каждой я даю интуитивное объяснение.
Вещественное число
Определение можете прочитать в Википедии или дочитать до конца мою статью, где я простым языком скажу или вы сами поймёте, но нужно проследить за мыслью, которую я хочу донести до вас. Я напишу формулой из теории множеств:
R = Q ∪ I
Где, R — множество вещественных чисел;
Q — множество рациональных чисел;
I — множество иррациональных чисел.
Так же Q ⊂ R и I ⊂ R.
Расшифровка тем, кто не очень с теорией множеств. Вещественные числа эта числа которые включают в себя Рациональные и Иррациональные числа (R = Q ∪ I), т.к. Вещественные числа включают их в себя, то Рациональные числа и Иррациональные числа являются подмножеством множества Вещественных (Q ⊂ R и I ⊂ R), причём строго, то есть Q != R и I != R, это очевидная мысль, но её требуется подчеркнуть.
Теперь к самому интересному, какие числа называются Рациональными и Иррациональными (представляю себя преподавателем начальных курсов технических вузов).
Рациональные
Начнём с Рациональных, возьмём определение из википедии.
Рациональное число (от лат. ratio «отношение, деление, дробь») — число, которое можно представить в виде обыкновенной дроби m/n, где m — целое число, а n — натуральное.
Так же стоит отметить, что Рациональные включают в себя Целые и Натуральные числа (-1, 0, 1, 2 …) их можно выразить в виде дроби, 1 = 1/1, 2 = 2/1, -1 = -1/1, 0 = 0/1 и т.д.
Почему это важно? Потому что Иррациональные числа не включают в себя Целые и Натуральные числа, это отдельный класс чисел.
Иррациональные
Берём определение из Википедии.
Иррациональное число — это вещественное число, которое не является рациональным, то есть не может быть представлено в виде обыкновенной дроби m/n, где m,n — целые числа, n != 0.
Иррациональное число может быть представлено в виде бесконечной непериодической десятичной дроби.
Так же приведу примеры иррациональных чисел, чтобы стало понятно: π (число пи), e (число Эйлера), √2.
Вы начали что-то подозревать? Если нет я помогу вам.
Первое предложение определения — это то, о чём я вам говорил, то, что Иррациональные числа — это отдельный класс чисел и он не включает в себя Целые и Натуральные.
Но самое важное здесь это второе предложение «Иррациональное число может быть представлено в виде бесконечной непериодической десятичной дроби.».
Что это значит? Заметили, что в примерах я дал вам буквенное обозначение? Это не просто так, это представление иррационального числа, ВАЖНО — сама запись π это не само иррациональное число, это всего лишь его представление, и оно является чем угодно, но не иррациональным числом. Само Иррациональное число оно бесконечно. Понимаете?
То есть его невозможно записать по определению.
Никакой памяти в компьютере не хватит чтобы его записать. Это невозможно!
И мало того что в большинстве (я не проверял прям на всех, но очень сомневаюсь, что хотя бы в одном это есть) языков в которых используется термин Вещественный тип нельзя чисто синтаксически сделать запись по типу: «double a = π», попросту будет ошибка компиляции, так ещё если и возможно с помощью латинских букв подключая библиотеки, то в конечном-то итоге эта переменная будет ссылаться на конечное представление, а то есть рациональное этого иррационального числа!
Всё с чем мы можем работать это ТОЛЬКО РАЦИОНАЛЬНЫЕ ЧИСЛА, представления иррациональных чисел они ТОЖЕ рациональные и ТОЛЬКО рациональные. Они большие, они могут быть ооооочень большими, но они всё равно рациональные!
R = Q ∪ I, если мы исключаем I из-за невозможности работы с ними в прямом смысле без представлений получается R’ = R\I, R’ = Q, а Q у нас рациональные числа.
Так почему же так много людей и весьма неглупых всё ещё допускают эту простую ошибку? Эту ошибку можно было описать в пару предложений, но я хотел донести до вас последовательно как к этому прийти, используя общепринятую терминологию.
Спасибо.
P.S. Это моя оригинальная статья AfterWing, не является переводом, доработкой другой какой-либо статьи на русском/английском и др. языках.
Двойной тип данных — Visual Basic
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Содержит подписанные IEEE 64-битные (8-байтовые) числа с плавающей запятой двойной точности в диапазоне значений от -1,79769313486231570E+308 до -4,94065645841246544E-324 для отрицательных значений и от 4,94065645841246544E-324 до 1,79769313486231570E+308 для положительных значений. Числа двойной точности хранят приближение действительного числа.
Тип данных Double предоставляет наибольшее и наименьшее возможные значения числа.
Значение по умолчанию для Double равно 0.
Советы по программированию
Точность. При работе с числами с плавающей запятой помните, что они не всегда имеют точное представление в памяти. Это может привести к неожиданным результатам некоторых операций, таких как сравнение значений и
Оператор Mod. Дополнительные сведения см. в разделе Устранение неполадок с типами данных.Нули в конце. Типы данных с плавающей запятой не имеют внутреннего представления конечных нулевых символов. Например, они не различают 4.2000 и 4.2. Следовательно, конечные нулевые символы не отображаются при отображении или печати значений с плавающей запятой.
Тип символов. Добавление символа буквального типа
Rв литерал приводит к типу данныхDouble.
Например, если за целочисленным значением следует R, значение изменится наDouble.' Visual Basic расширяет 4 в выражении Dim dub As Double = 4R до 4.0: Дим даб как двойной = 4.0R
Добавление символа типа идентификатора
#к любому идентификатору заменяет его наDouble. В следующем примере переменнаяnumвводится какDouble 9.0022 :Размерный номер # = 3
Тип каркаса. Соответствующим типом в .NET Framework является структура System.Double.
См. также
- Двойная система
- Типы данных
- Десятичный тип данных
- Один тип данных
- Функции преобразования типов
- Сводка преобразования
- Эффективное использование типов данных
- Устранение неполадок типов данных
- Введите символы
Обратная связь
Просмотреть все отзывы о странице
Тип данных VBA Double (переменная Dim)
Возврат к примерам кода VBA
В этой статье
- Тип переменной Double
- Тип данных Single
- Тип данных Int или Long
- Объявление переменной Double на уровне модуля или на глобальном уровне
- Уровень модуля
- Глобальный уровень
- Формат Double Сохраняется как строка
Тип переменной Double
Тип данных VBA Double используется для хранения чисел, требующих десятичных разрядов.
Он может хранить от -1,79769313486231E308 до -4,94065645841247E-324 для отрицательных значений и от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений.
Чтобы объявить переменную Double, вы используете оператор Dim (сокращение от Dimension):
Dim dblA как Double
Затем, чтобы присвоить значение переменной, просто используйте знак равенства:
dlbA = 3658,25 Помещение этого в процедуру выглядит следующим образом:
Sub dblExample()
'объявить двойную переменную
Dim dblA как Double
'заполнить двойную переменную
дБА = 3658,25
'показать окно сообщения
MsgBox дблА
End Sub Если вы запустите приведенный выше код, появится следующее окно сообщения.
Тип данных Single
Тип данных Single — это просто более короткая версия типа данных Double. Из-за этого он может влиять на округление при использовании в процедуре, так как тип данных single будет округлен до 4 знаков после запятой, а тип данных Double будет округлен до 12 знаков после запятой.
Если вам не нужен тип данных Double, вы можете использовать тип данных Single
Типы данных Int или Long
Если вам не нужен десятичный разряд, вы можете использовать тип данных Int или тип данных Long .
Dim intA as Integer Dim lngB as Long Объявление переменной Double на уровне модуля или на глобальном уровне
В предыдущих примерах мы объявили переменную Double внутри процедуры. Переменные, объявленные в процедуре, могут использоваться только внутри этой процедуры.
Вместо этого вы можете объявить переменные типа Double на уровне модуля или на глобальном уровне.
Уровень модуля
Переменные уровня модуля объявляются в верхней части модулей кода с Оператор Dim .
Эти переменные могут использоваться с любой процедурой в этом модуле кода.
Глобальный уровень
Переменные глобального уровня также объявляются в верхней части модулей кода.
Однако вместо использования оператора Dim используйте оператор Public , чтобы указать, что переменная Double доступна для использования во всем проекте VBA.
Public DblA as Double Если вы объявите переменную double на уровне модуля, а затем попытаетесь использовать ее в другом модуле, произойдет ошибка.
Однако, если бы вы использовали ключевое слово Public для объявления двойной переменной, ошибка не возникнет, и процедура будет работать нормально.
Программирование на VBA стало проще
Прекратить поиск кода VBA в сети. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Узнать больше
Двойной формат сохраняется как строка Может быть время, когда вы захотите преобразовать тип данных double в строку — например, вы можете захотеть отобразить символ валюты и округлить число до 2 знаков после запятой.


Иррациональное число может быть представлено в виде бесконечной непериодической десятичной дроби.
Например, если за целочисленным значением следует