Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Преобразование типов


Автор: Klin 8.5.2007, 00:13
Элементарные вещи, но оказывается, их тоже некоторые не знают. Все функции приводить не стану, опишу основные.
  • IntToStr(int x); - преобразование числовой переменной x в текстовый вид
    Код

     . . . . . . .
     int x = 5;
     Edit1->Text = "Значение номер #" + IntToStr(x);
     . . . . . . .
  • StrToInt(AnsiString y);  
     преобразование текстовой переменной y в числовой вид,
     или можно использовать подобную функцию (только для AnsiString) - AnsiString y; y.ToInt();
    Код

     . . . . . . .
     int x = StrToInt(Edit1->Text);
     int y = Edit1->Text.ToInt();
     . . . . . . . 
  • BoolToStr(bool z, bool UseBoolStrs = false); 
     преобразование логической переменной z в текстовый вид, 
     второй параметр указывает, как будет выглядеть переменная после преобразования: false - 0 и 1 , true - false и true
     По умолчанию параметр имеет значение false.   
    Код

     . . . . . . . 
     bool visible = true;
     Edit1->Text = BoolToStr(visible); // вывод "1" в Edit1
     Edit2->Text = BoolToStr(visible, false); // в текстовом поле Edit2 будет то же самое, что и в Edit
     Edit3->Text = BoolToStr(visible, true); // вывод  "true" в Edit3
     . . . . . . . 
  • StrToBool(AnsiString text); - преобразование текстовой переменной text в логический вид
    Код

     . . . . . . . 
     bool checked = StrToBool(Edit1->Text);
     . . . . . . . 
Также существуют и другие функции преобразования типов:
FloatToStr(Extended Value), DateTimeToStr(TDateTime DateTime), StrToDate(const AnsiString S), StrToTime(const AnsiString S), StrToDateTime(const AnsiString S), IntToHex(int Value, int Digits).

Разобраться с ними не сложно, но если появятся вопросы, задавайте их на форуме.

Автор: Klin 18.5.2007, 13:52
Есть функция AnsiString ( value ), интерпретирующая (переводящая) тип переменной в формат AnsiString, где value может быть множества типов, вот некоторые из них:
  •  char
  •  const char *
  •  wchar_t *
  •  short
  •  unsigned short
  •  int
  •  unsigned int
  •  long
  •  unsigned long
  •  __int64
  •  unsigned __int64
  •  double
  •  const WideString
  •  const AnsiString&

Автор: dumb 21.5.2007, 05:37
поправка:
однако, это конструктор, перегруженный для разных типов, и он, соответственно, не просто "переводит", а создает экземпляр класса AnsiString с начальным значением, указанным в value.

добавка:
функции с именами StrToXXX при неудачном преобразовании генерируют исключение, которое необходимо перехватывать. либо можно использовать StrToXXXDef, которые при ошибке преобразования исключения не генерируют, а просто присваивают значение по-умолчанию, указанное в параметрах.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)