powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как тип String преобразовать в Integer
15 сообщений из 15, страница 1 из 1
как тип String преобразовать в Integer
    #33997080
гость1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прщение за ламерский вопрос, но забыл функцию
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33997096
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Int ,Cint , Val

если в String числа
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33997110
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 6 версии можно напролом идти, если число правильное, т.е. явно ошибки не будет.
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33997340
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Int работает не со строкой, а с числом. Val же, увы, не возвращает Integer. Остается CInt
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33997701
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnInt работает не со строкой, а с числом. Val же, увы, не возвращает Integer. Остается CInt
ты к Val попробуй инт значок поставить (наобум не помню, помню что Val$() - возвращает строку)
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33997745
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,
Вы это о чем? Чему вы учите?
VladConn
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33998039
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну что же. не получилось, но это работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  Dim s As String, d As Double, i As Integer
  
  s = "123,456_ERROR"
  d = Int(Val(s))
  i = Val(s)
  MsgBox "d = " & d & vbCrLf & "i = " & i
  
  i% = Val(s)
  MsgBox "d = " & d & vbCrLf & "i = " & i
  
  s = "123,456"
  d = s
  i% = s
  MsgBox "d = " & d & vbCrLf & "i = " & i
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33998141
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,
Зачем это все? Вопрос был, как строку преобразовать в integer. Имелась ввиду функция, зарезервированная для этого. Где вы тут делаете такое преобразование: i% = Val(s) ? Здесь вы Double из правой части передате переменной типа integer. Система, не функция Val и тем более не %, здесь ни причем. % вообще не нужен, так как переменную i вы уже отдекларировали как integer. И использование значков для типа данных уже давно не поощряется разработчиком языка - фирмой Microsoft. Они оставлены для совместимости версий, не более. Вот эта строка i = Val(s) эквивалентна вышеприведенной. А это i% = s все равно, что это: i = s. Здесь строка присваивается переменной типа integer в надежде, что система сама разберется, что к чему. И даже если бы все то нагромождение Int,Val и % имело смысл, то это было бы равносильно поездке в Москву из Ленинграда через Баку.

i = CInt(s) 'все, что требовалось.

VladConn
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33998489
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с VladConn, и все же
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Form_Load()
  Dim aaa
    aaa = Val("1234")
    MsgBox "Val - " & VarType(aaa) 'получим 5, что есть тип double
    
    aaa = CInt("1234")
    MsgBox "Val - " & VarType(aaa) 'получим 2, что есть тип integer,как ни странно :))
    
    aaa = CDbl("1234")
    MsgBox "Val - " & VarType(aaa) 'получим 5
    
End Sub
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #33999951
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CInt прямое приведение типа, а вообще получается, что вы приводите string к integer а потом еще раз к integer.

(сейчас VB нет): вот это разве работает:
i = CInt( "123,124sflnaskl;fna;lfnl;ak") ?

прим.
i = s всегда работает, и куда быстрее всех CInt если строка правильная.
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #34000308
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, читайте вопрос!

Он был о функции перевода строки в integer. Это CInt. Другой нет.
Мне странен ваш вопрос:
'вот это разве работает: i = CInt( "123,124sflnaskl;fna;lfnl;ak") ?'
Это и не должно работать! Ни в коем случае! Не хочу думать, что вы не отличаете парсинг строки от конвертации типов.

Еще более странно это замечание "получается, что вы приводите string к integer а потом еще раз к integer." Все-таки налицо непонимание вопроса. Я- привожу string к integer один и только один раз - в правой части, это возвращаемое значение CInt. А потом, это один только раз приведенное значение, присваиваю левой части. Таким вот образом целое и получает целое.

Мда...
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #34000362
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остается добавить, что в иллюстрации AndreyMp, наоборот, ничего странного нет. Ведь он отдекларировал переменную "aaa" как Variant, по умолчанию. А эта подруга принимает тип, какой ей подадут.
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #34000626
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор А эта подруга принимает тип, какой ей подадут.
Вот именно поэтому так и отдекларировал, для наглядности что Val преобразует всеже "правильную" строку, но никак не в integer, a в double.
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #34000725
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да. В таком случае ваш комментарий "'получим 2, что есть тип integer,как ни странно" можно считать шуткой, ведь там ничего странного нет.
Кстати, я перевожу Variant как "Разнообразный", очень меткое название для этого типа.
...
Рейтинг: 0 / 0
как тип String преобразовать в Integer
    #34001819
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу да. В таком случае ваш комментарий "'получим 2, что есть тип integer,как ни странно" можно считать шуткой, ведь там ничего странного нет.Ну да. Пытался пошутить. )
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как тип String преобразовать в Integer
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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