Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Перевести String в Integer Добавлено: 15.11.06 20:01  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su
Привет всем!

Как перевести тип String в Integer.
Почему-то cInt не рулит.

Вопрос глупый, но - ... деваться некуда.
Помогите

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 »VladikComper«



ICQ: 419668582 

Вопросов: 23
Ответов: 147
 Web-сайт: vladikcomper.narod.ru
 Профиль | | #1
Добавлено: 15.11.06 20:05
Уточните что случается при использовании cInt и значение String. Нужен код чтобы понять, почему ничего не получается!

Ответить

Номер ответа: 2
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #2
Добавлено: 15.11.06 20:24
самый правильный способ, имхо, Integer.Parse

Ответить

Номер ответа: 3
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #3 Добавлено: 15.11.06 20:49
а по-моему все равно все сводится к Convert.ToXXX

Ответить

Номер ответа: 4
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #4 Добавлено: 16.11.06 10:49
Все это конечно интересно, но пока автор не уточнит, почему у него получаются проблемы с CInt дальнейшие рассуждения не имют смысла

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 16.11.06 18:00
а Val(Expression) устарел?

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 16.11.06 18:58
В дотнете - да

Ответить

Номер ответа: 7
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #7
Добавлено: 18.11.06 18:37
Все это конечно интересно, но пока автор не уточнит, почему у него получаются проблемы с CInt дальнейшие рассуждения не имют смысла
Автор просит прощение за долшовременное отсутствие, но ... карточка подошла к концу... :(


    Private Sub cmdMake_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMake.Click
        Dim formGraphics As System.Drawing.Graphics
        formGraphics = pctMain.CreateGraphics()
        formGraphics.DrawLine(Pens.Blue, 100, 100, CInt(TextBox1.Text), 100)
        formGraphics.Dispose()
    End Sub

CInt(TextBox1.Text) - возвращает нуль при любых значениях TextBox1.Text

Ответить

Номер ответа: 8
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #8
Добавлено: 18.11.06 19:11
будешь смеяться, но у меня
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim foo As Integer = CInt(TextBox1.Text)
    End Sub

возвращает 12, когда в боксе написано 12.
совет на все ошибки: экспериментируй пошагово на маленьких кусках кода; просматривай в дебаге - есть окна watch, immediate - грех не пользоваться; не вводи в бокс значения в которых неуверен, типа "2,5"; добавляй промежуточные переменные.
А вообще Cint - здесь использовать неправильно. оно может и сработает, но вообще-то CInt короткий эквивалент CType(,Integer) и призван дать понять препроцессору, что переменная типа Object является на самом деле переменной типа Integer (как и CStr,SSng,CDbl - о чём свидетельствует синее подкрашивание этих слов). Просто препроцессор делает скидку на кривые руки и добавляет ковертацию самостоятельно.

Ответить

Номер ответа: 9
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #9
Добавлено: 18.11.06 20:35
А бл. :) есть, разобрался, спасибо, Neco
Cпасибо всем!

Позже оказлось (вы сейчас будете надо мной смеятья, только не кидайтесь камнями), что то, что я привел тоже работает и переводит... но этоя стормозил )::(

Ответить

Номер ответа: 10
Автор ответа:
 Viktor



Вопросов: 2
Ответов: 18
 Профиль | | #10 Добавлено: 02.07.07 17:14
Вижу проблема решена. Хочу только поделится опытом - такая проблема встречается довольно часто в VB.NET. Встроенные функции принимают толко готовые переменные или числа, но не "сгенерированные на лету".

Ответить

Номер ответа: 11
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #11
Добавлено: 02.07.07 17:19
А что вы понимаете под "сгенерированными на лету"?

Ответить

Номер ответа: 12
Автор ответа:
 Viktor



Вопросов: 2
Ответов: 18
 Профиль | | #12 Добавлено: 02.07.07 17:35
Может я не понятно выразился, Прошу извенить. Я несколько раз столкнулся с проблемой: встренная функция VB.NET не хочет работать если ей передовать параметр типа CInt(SmthStr). После нескольких попыток у меня появилась привычка инициализировать все переменные

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам