powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TextBox и арифметика
9 сообщений из 9, страница 1 из 1
TextBox и арифметика
    #38121629
Viadrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день форумчане, у меня довольно нубский вопрос, прошу извинить, если что, но все же...

Есть UserForm и на ней TextBox1 и TextBox2. В эти боксы вручную вписываются числовые значения. Есть макрос который выдает сумму числовых значений бокса1 и бокса2. Вот тут проблемка, значение возвращается не верно, то есть, если TextBox1=1 TextBox2=0, то макрос возвращает значение 10. (1 и 0 склеиваются как бы).

Код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub CommandButton1_Click() 
Dim a as double

a= UserForm1.TextBox1.Value + UserForm1.TextBox2.Value

MsgBox a

End Sub




Спасибо за помощь
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121637
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
a =  CDbl( UserForm1.TextBox1.Value )  +  CDbl( UserForm1.TextBox2.Value ) 
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121647
Viadrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Вам большое за помощь! Все заработало. Вас бы не затруднило написать предложение, озвучивающее в чем была проблема и как Вам удалось ее решить. Это чтобы я на будущее знал. Заранее благодарю.
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121654
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viadrin,

Необходимо при чтении свойства из текстового поля преобразовывать данные в нужный тип. По умолчанию читается тип String. И сложение двух строк приводит к их конкатенации (объединению). Поэтому через функцию CDBl( ) - мы преобразовали оба аргумента к типу Double. Также есть другие функции CBool, CInt, CSng, CStr, CDec - описание есть в MSDN или в любом букваре по VBA/VB6
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121655
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viadrin,
Весь секрет в том, что Ваш код выполняет не сложение, а конкатенацию строк
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121664
Viadrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за оперативную и квалифицированную помощь, тема может считаться закрытой.
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121666
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том, что TextBox1.Value это строка, а не число. Числа складываются, строки склеиваются.
Если строки содержат числа, над которыми нужно провести арифметические операции, то перед этим нужно привести их к нужному числовому типу.
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121669
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, налетели...
...
Рейтинг: 0 / 0
TextBox и арифметика
    #38121725
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyну, налетели...рекорд по количеству одновременных постов в ветку )))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TextBox и арифметика
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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