![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
![]()
как с помощью if проверить в строке AnsiString, может ли эта строка быть преобразована в тип int (или друге типы boll, float и т д).
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Если в строке есть символы, отличные от цифр, знаков "+", "-" и "."/"," (десятичной точки/запятой), то нельзя. Плюс нюансы - в int не может быть десятичной точки, знак +/- может быть только в начале, десятичная точка может быть только одна. Ну еще возможны записи типа 3.1006277E+1.
Ну или самый веселый вариант: Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
![]() Цитата:
А по теме можно просто составить символьный массив цифр и сверять с этим массивом каждый символ данной строки |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
![]()
Конечно же спасибо вам за помощь. Но к созалению я знаю конструкцию try catch (const ErrType& err) <-покрайней мере это перехват возникших исключений. В моём случае это неможно использовать т.к. таких проверок будет несколько. И в каждом случае при наличии нечисловой строки мне нужно проводить разные действия. И писать их в такую конструкцию конечно можно но это приведет нечитаемости листинга.
-------------------------------------------- Извените за неправильное написание типа bool.
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> В моём случае это неможно использовать
а кто мешает сделать функцию (работающую на основе вышепреведенного кода с try catch) и возвращающую true/false? И если речь про Билдер, там есть (должны быть) функции типа StrToIntDef(), StrToFloatDef() и подобные.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
![]()
Спасибо а я чтото не подумал про функцию слазу...
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выборка значения из столбца типа INT | mike_tihomirov | SQL, базы данных | 2 | 07.04.2011 21:31 |
Делфи и ассемблер. Не работают прерывания типа Int | Я_и | Общие вопросы Delphi | 8 | 11.12.2010 13:13 |
Проблема с функциями(передача масива в функцию типа int) | sekator | Общие вопросы C/C++ | 4 | 27.07.2010 22:13 |
Преобразования типа LPCSTR -> int без потери данных | coNsept | Общие вопросы C/C++ | 2 | 20.05.2010 20:49 |
Конвертация типа string в int | Mixasik | Общие вопросы C/C++ | 10 | 25.04.2009 02:58 |