powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Странно работает умножение
8 сообщений из 8, страница 1 из 1
Странно работает умножение
    #37233088
Runnur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Не пойму что происходит. Пишу на VB в AutoCAD. И такая штука, умножаю, например 200 на 200, помещаю результат в переменую с типом Long, а мне сообщает ошибку - Run-time error '6' Overflow, причем если умножаю 200000 на 200, то все нормально, без ошибки. Может кто-нибудь подсказать что это?
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233091
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не вдаваться в подробности:

Код: plaintext
s = CLng(x) * CLng(y)
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233120
Runnur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть явно делать преобразование в число?
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233139
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Runnurто есть явно делать преобразование в число?
Явное преобразование в Long
Ты ж не приводишь код, остается только гадать.
По умолчанию 200 - это Integer.
Integer * Integer = Integer - переполнение
Либо надо явно объявлять тип переменной или константы, либо в выражении выполнить преобразование хотя бы одного операнда в Long
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233142
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а 200000 - это Long по умолчанию
Long * Integer = Long - переполнения нет
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233246
Runnur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код, хотя бы вот такой

Код: plaintext
1.
2.
Dim i As Long
i =  200  *  200 
MsgBox (i)

но вообщем, понял, надо явно указывать тип.
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233376
Runnur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю!
...
Рейтинг: 0 / 0
Странно работает умножение
    #37233407
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RunnurКод, хотя бы вот такой

Код: plaintext
1.
2.
Dim i As Long
i =  200  *  200 
MsgBox (i)

но вообщем, понял, надо явно указывать тип.

Ну это же не рабочий код, а пример. В рабочем коде будут использоваться переменные, надо просто явно объявлять их тип. А данный конкретный пример можно записать так:
Код: plaintext
1.
2.
Dim i As Long
i =  200 & *  200 &
MsgBox (i)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Странно работает умножение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]