Форум программистов, компьютерный форум CyberForum.ru

Преобразование переменных - C++

Восстановить пароль Регистрация
 
Sagittarius
 Аватар для Sagittarius
16 / 9 / 0
Регистрация: 10.01.2012
Сообщений: 54
25.02.2012, 19:44     Преобразование переменных #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    int j,i=5;
    string ss=5;
    char h="$";
    float d=3.1415926;
 
    ////////////////
    j=i+ss; //ss Преобразовать в int
    ss=h+d //float в string
    
    system("PAUSE");
}
Какие есть варианты?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2012, 19:44     Преобразование переменных
Посмотрите здесь:

Неявное преобразование переменных C++
Преобразование переменных C++
Преобразование типов переменных C++
C++ преобразование
C++ Преобразование С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.02.2012, 20:03     Преобразование переменных #2
Если ваш компилятор поддерживает новый стандарт C++
C++
1
2
j = i + stoi(ss); 
ss = h + to_string(d);
Sagittarius
 Аватар для Sagittarius
16 / 9 / 0
Регистрация: 10.01.2012
Сообщений: 54
25.02.2012, 20:17  [ТС]     Преобразование переменных #3
а нет варинтов что бы был станда, тоесть что бы большетство компиляторов поддерживало.

И как переводить из одного типа в другой?
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
25.02.2012, 20:22     Преобразование переменных #4
Цитата Сообщение от Sagittarius Посмотреть сообщение
как переводить из одного типа в другой?
C++
1
2
3
double x = 10.234;
int y;
y = int(x);  //или y = (int)x
Цитата Сообщение от Sagittarius Посмотреть сообщение
string ss=5;
Так нельзя

Цитата Сообщение от ValeryS Посмотреть сообщение
Может так?
Вообще-то оно автоматом преобразуется в '$' но лучше конечно сразу нормально делать.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,056
25.02.2012, 20:22     Преобразование переменных #5
Цитата Сообщение от Sagittarius Посмотреть сообщение
char h="$";
Может так?
C++
1
char h='$';
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.02.2012, 21:10     Преобразование переменных #6
Цитата Сообщение от Sagittarius Посмотреть сообщение
а нет варинтов что бы был станда, тоесть что бы большетство компиляторов поддерживало.
Строковые потоки(std::stringstream)

Добавлено через 46 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//...
#include <sstream>
#include <stdexcept>
 
template<typename TargetType, typename SourceType>
TargetType convert_to(const SourceType& val)
{
  std::stringstream stream;
  if(!(stream << val))
    throw std::string("error"); // std::string здесь для простоты 
                                // естественно, желательно создать свой тип исключения
   
  TargetType res;
  if(!(stream >> res))
     throw std::string("error");
 
  return res;
}
 
//--------------------------
 
int main()
{
  //...
  j = i + convert_to<int>(ss);
  ss = h + convert_to<string>(d); 
  //...
}
Yandex
Объявления
25.02.2012, 21:10     Преобразование переменных
Ответ Создать тему
Опции темы

Текущее время: 15:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru