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

ID: 401284

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

Советник

381

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


ID: 259041

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

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

376

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


ID: 401888

puporev

Профессор

217

Россия, Пермский край


ID: 400669

epimkin

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

112


ID: 405338

vovaromanov.jr

1-й класс

105


ID: 242862

Hunter7007

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

30

Россия, Омск


ID: 137394

Megaloman

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

26

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


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-27 10:16:01-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 знаков после запятой.

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

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

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

Gluck

9-й класс

Рейтинг: 82

Megaloman

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

Рейтинг: 26

solowey

Академик

Рейтинг: 4

Асмик Гаряка

Советник

Рейтинг: 0

Sergey V. Gornostaev

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

Рейтинг: 0

SFResid

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

Рейтинг: 0