Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как узнать, что символы - это тип int?

249
07 апреля 2007 года
DissDoc
639 / / 01.10.2004
собственно, у меня есть две строки
AnsiString s1="12", s2="12.34"
Как узнать, что s1 - int, а s2 - НЕint?
263
07 апреля 2007 года
koltaviy
816 / / 16.12.2004
1)
 
Код:
..
AnsiString txt = "12.34";
ShowMessage(IntToStr(txt.ToIntDef(0)));
..

Выведет 0, если не int-типа.

2)
Код:
..
AnsiString txt = "12.34";
try
{
   txt.ToInt();
}
catch(Exception &e)
{
  ShowMessage("Not int value");
}
..

Без комментариев.
249
07 апреля 2007 года
DissDoc
639 / / 01.10.2004
Первый вариант мне подошел. Второй я знал. Но хотелось уйти от try/catch
 
Код:
AnsiString txt = "12.34";
ShowMessage(IntToStr(txt.ToIntDef(-1)));

Я чуть поправил, чтобы было более грамотно.
3
07 апреля 2007 года
Green
4.8K / / 20.01.2000
Уже было обсуждение подобного вопроса.
Так что мой традиционный уже вопрос: а зачем так сложно?
Проще и быстрее проверить является ли каждый символ цифрой.
Функция в три строчки.
309
08 апреля 2007 года
el scorpio
1.1K / / 19.09.2006
Самый простой вариант:
extern PACKAGE bool __fastcall TryStrToInt(const AnsiString S, int &Value);

 
Код:
int i;
AnsiString Str = ...;
if (TryStrToInt (Str, i)
{
}

[/code]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог