Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Приведение типов


Автор: Rodman 1.11.2006, 14:10
Дароф.

Впервые сегодня сел за VBA...

Надо формулы расчитать...

Пишу
Код

Dim d, b, z, a, x, e As Single
Private Sub CommandButton1_Click()
   d = (z + 1 - a * x * x) / (x + z)  'бяка
   Label4.Caption = "D = " + CStr(d)
   b = Sqr(Abs(d)) - (Exp(z)) * Sin(x) * Sin(x)
   Label5.Caption = "B = " + CStr(b)
End Sub

Private Sub TextBox1_Change()
     z = TextBox1.Text
End Sub

Private Sub TextBox2_Change()
    x = TextBox2.Text
End Sub

Private Sub TextBox3_Change()
    a = TextBox3.Text
End Sub


вот на форме есть 3 эдита... ввожу данные и в два лэйбла вывожу данные...

но вот там где бяка - выдает 'Type mismatch'...

Почему не считает...

Спасибо...

Автор: mihanik 1.11.2006, 14:45
Код

z = val(TextBox1.Text)


или, если привести не вообще к числовому типу, а именно к single, то так так 

Код

z = CSng(TextBox1.Text)


функции преобразования

Cint - Integer
Cstr - string
Clng - long
и т.п.

Автор: Rodman 1.11.2006, 14:48
Как привести из Текста в double???
CDbl - че то ругается...

Автор: mihanik 1.11.2006, 14:52
Посмотри

Код

Private Sub Command1_Click()
Dim x As Double

x = CDbl("345")
MsgBox x
End Sub


У тебя переменная, куда ты пытаешься запихнуть Double какого типа? Single?  smile 

Автор: Rodman 1.11.2006, 15:07
mihanik, сенкс...

ПОлучилось с Val...

Но зачем тогда Cint - Integer
Cstr - string
Clng - long


если с ними не работает smile  smile  smile  smile 

Автор: mihanik 1.11.2006, 15:12
сенкс не булькает... smile

Должно работать.

Хотя у тебя программа довольно странная...

Я бы по-другому сделал.
Прмерно так.


Код

Private Sub CommandButton1_Click()
Dim d, b, z, a, x, e As Single

   z = CSng(TextBox1.Text)
   x = CSng(TextBox2.Text)
   a = CSng(TextBox3.Text)
   
    d = (z + 1 - a * x * x) / (x + z) 
   Label4.Caption = "D = " + CStr(d)

   b = Sqr(Abs(d)) - (Exp(z)) * Sin(x) * Sin(x)
   Label5.Caption = "B = " + CStr(b)
End Sub



Работу не проверял...
Писал прямо в IE.

Автор: Rodman 1.11.2006, 16:05
mihanik, пробовал и так... но не хотело работать....

Через Val пошло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)