Лидеры рейтинга

ID: 405049

vsetin

Студент

2825


ID: 401284

Михаил Александров

Советник

905

Россия, Санкт-Петербург


ID: 226425

Konstantin Shvetski

Модератор

662

Россия, Северодвинск


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

380

Россия, пос. Теплоозёрск, ЕАО


ID: 400669

epimkin

Профессионал

350


ID: 325460

CradleA

Мастер-Эксперт

297

Беларусь, Минск


ID: 137394

Megaloman

Мастер-Эксперт

260

Беларусь, Гомель


8.9.0

20.06.2021

JS: 2.9.2
CSS: 4.5.10
jQuery: 3.6.0
DataForLocalStorage: 2021-06-22 16:46:03-standard


Создание программ на языке Basic.

Администратор раздела: Андреенков Владимир (Академик)

Консультация онлайн # 159891

Раздел: Basic
Автор вопроса: AkaProc
Дата: 07.02.2009, 23:43 Консультация закрыта
Поступило ответов: 2

Здравствуйте!
У меня такой вопрос: как можно обозначить переменную типа Decimal в VB6? Если просто написать "Dim A AS Decimal", то он не понимает этот тип. Как быть?
Большое спасибо!

Ответ # 243138 от Evgenijm
Здравствуйте, AkaProc!

Decimal в VB6 поддерживается только косвенно. Хранить его можно в переменной типа Variant. Можно привести значение к типу Decimal, но существует он только в обертке.

Evgenijm

Посетитель
08.02.2009, 04:59
Ответ # 243170 от Тесленко Евгений Алексеевич
Здравствуйте, AkaProc!

тип данных Decimal допускает - 10^38 +1 to 10^38 - 1

для работы с такими данными, в VB могут быть использованы переменные типа:
Double -1.79769313486231E308 to -4.94065645841247E-324, 4.94065645841247E-324 to 1.79769313486232E308
Single -3.402823E38 to -1.401298E-45, 1.401298E-45 to 3.402823E38

Евгений




Тесленко Евгений Алексеевич

Посетитель
08.02.2009, 15:55
Мини-форум консультации # 159891
Тесленко Евгений Алексеевич

1

= общий =    08.02.2009, 20:39

Variant - специфический по реализации тип данных, он допускает присвоение NULL
и его использование накладывает свои ограничения.
В тоже время в VBS применяется только он и это не ограничивает функциональность VBS.
Обязательно стоит декларировать переменные, даже если это "подъедающий" ресурсы Variant

Евгений.

RedRider

2

= общий =    08.02.2009, 22:58

Спасибо!

Филатов Евгений Геннадьевич

3

= общий =    13.02.2009, 15:45

у меня VB6 SP3

выдержка из хелпа:
Переменные типа Decimal сохраняются как 96-разрядные ( 12-байт ) целые без знака, масштабируемые степенями 10. Степень масштабирования определяет число знаков дробной части, которое может изменяться от 0 до 28. Для степени масштабирования 0 ( числа без дробной части ) , максимальными по абсолютной величине значениями являются +/-79 228 162 514 264 337 593 543 950 335.

я в программе использую для хранения данных целый тип ( если необходимо для суммы, то храню в копейках. )

Dim n1 As Variant
n1 = CDec(0)

т.е. изначально определяю 0 знаков после запятой.

а дальше операции как с обычными числами

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

Лучшие эксперты раздела

Megaloman

Мастер-Эксперт

Рейтинг: 260

solowey

Академик

Рейтинг: 104

SFResid

Мастер-Эксперт

Рейтинг: 1

Асмик Гаряка

Советник

Рейтинг: 0

Sergey V. Gornostaev

Профессионал

Рейтинг: 0

Роман Селиверстов

Советник

Рейтинг: 0