Почему при расчётах не выводит Е+

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Почему при расчётах не выводит Е+

Сообщение MVG » 08.07.2004 (Чт) 11:21

Разбираюсь в чужом калькуляторе. Чтобы всё понять создал свой точно такой же. Но у оригинала при вычислениях очень больших или очень малых чисел выводит Е+, а у меня нет. Изменение свойства DataFormat не помогает.

baha76
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 07.01.2004 (Ср) 10:59
Откуда: Ташкент

Сообщение baha76 » 08.07.2004 (Чт) 13:05

Какой элемент управления используешь в качестве табло?

MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Сообщение MVG » 08.07.2004 (Чт) 14:38

Использую как и в оригинале Label. Хотя пробовал и TextBox но ничего не получалось.

baha76
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 07.01.2004 (Ср) 10:59
Откуда: Ташкент

Сообщение baha76 » 08.07.2004 (Чт) 15:27

Я в свое время писал калькулятор и использовал лейбл. Проблем таких не было. К сожалению ее потерял вместе с исходниками.

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

MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Сообщение MVG » 08.07.2004 (Чт) 16:28

Проверил всё что можно и случайно обнаружил, что ответ оказывается просто не помещается в выделенную для вывода ответа область в txtBox-е. При вводе большого числа, например "9999999999", и умножения его на такое-же то ответ выводится начиная с крайней левой цифры, и в отведённое место по свойству MaxLength весь ответ не помещается. Проблему решил увеличением свойства MaxLength при нажатии на кнопку "=". Тогда выводится весь ответ вместе с Е+.
Кстати, baha76, я вижу ты из Ташкента. Я служил там в штабе округа на проспекте Горького (если проспект до сих пор так называется). Классный город.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 08.07.2004 (Чт) 19:31

Сделай Label1.Caption = Format(Label1.Caption, 0)

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 09.07.2004 (Пт) 5:56

Помоему надо перевести переменный в добл формат - он ешки любит рисовть
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

baha76
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 07.01.2004 (Ср) 10:59
Откуда: Ташкент

Сообщение baha76 » 09.07.2004 (Пт) 11:32

2 MVG
Я согласен с Tin.
Типы данных в арифметических операциях имеют важное место. Учти это.

Еще сорри если не по теме. :wink:
Проспект переименован давно. Если что приезжай, пройдемся по местам боевой славы! :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 19

    TopList