|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2011, 21:59 | #1 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Проверка в строки на число типа int
как с помощью if проверить в строке AnsiString, может ли эта строка быть преобразована в тип int (или друге типы boll, float и т д).
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
30.05.2011, 22:53 | #2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Если в строке есть символы, отличные от цифр, знаков "+", "-" и "."/"," (десятичной точки/запятой), то нельзя. Плюс нюансы - в int не может быть десятичной точки, знак +/- может быть только в начале, десятичная точка может быть только одна. Ну еще возможны записи типа 3.1006277E+1.
Ну или самый веселый вариант: Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
31.05.2011, 11:01 | #3 | |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
Цитата:
А по теме можно просто составить символьный массив цифр и сверять с этим массивом каждый символ данной строки |
|
01.06.2011, 07:44 | #4 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Конечно же спасибо вам за помощь. Но к созалению я знаю конструкцию try catch (const ErrType& err) <-покрайней мере это перехват возникших исключений. В моём случае это неможно использовать т.к. таких проверок будет несколько. И в каждом случае при наличии нечисловой строки мне нужно проводить разные действия. И писать их в такую конструкцию конечно можно но это приведет нечитаемости листинга.
-------------------------------------------- Извените за неправильное написание типа bool.
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
01.06.2011, 08:28 | #5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> В моём случае это неможно использовать
а кто мешает сделать функцию (работающую на основе вышепреведенного кода с try catch) и возвращающую true/false? И если речь про Билдер, там есть (должны быть) функции типа StrToIntDef(), StrToFloatDef() и подобные.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
01.06.2011, 13:32 | #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 |