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


Автор: naumax 16.12.2009, 10:53
Добрый день! 
Нужна ваша помощь. 
Мне нужно перевести строковую переменную, в переменную с плавающей запятой. Из String в Single 
В String вводиться значение с точкой (например 1.2) 
Как это сделать? 
Все до чего я додумался это вот: только это неработает.  

Код

'в форме создаем три текстовых поля и кнопку 
Public a, b, c As Single 
Public t1, t2 As String 

Private Sub Command1_Click() 'кнопка 
t1 = Text1.Text 'в поле Text1 вводим дробное число 
t2 = Text2.Text 'в поле Text2 вводим дробное число 
a = t1 
b = t2 
c = a * b '!!!возникает ошибка несовпадение типов 
Text3.Text = c 
End Sub

Автор: Akina 16.12.2009, 11:02
Цитата(naumax @  16.12.2009,  11:53 Найти цитируемый пост)
нужно перевести строковую переменную, в переменную с плавающей запятой. Из String в Single 

CSng()
И не забыть решить проблему с десятичным разделителем (в зависимости от локали может быть или точка, или запятая) - соответственно предварительно при необходимости выполнить Replace. А по-хорошему - ещё проверить, что юзер ввёл число, а не текстовую хрень. И учесть, что как введённые числа, так и произведение могут не поместиться в Single.

M
Akina
Не забывайте использовать тег "Код".

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