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

Перевод из строки в число - C++

Восстановить пароль Регистрация
 
Nazgul94
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24
26.07.2013, 17:55     Перевод из строки в число #1
Подскажите в чем ошибка. Метод должен принимать строку в виде $456 654 456.36 и выдавать число типа double.
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
double bMoney::getmoney()
{   
    unsigned int i;
    char Mass[MAX], Mass2[MAX];
    cout << "Введите сумму: "; 
    cin.get(Mass, MAX);
    for(i = 0; i < strlen(Mass); i++)
    {   
            switch (Mass[i])
        {
        case '0': Mass2[i] = Mass[i]; break;
        case '1': Mass2[i] = Mass[i]; break;
        case '2': Mass2[i] = Mass[i]; break;
        case '3': Mass2[i] = Mass[i]; break;
        case '4': Mass2[i] = Mass[i]; break;
        case '5': Mass2[i] = Mass[i]; break;
        case '6': Mass2[i] = Mass[i]; break;
        case '7': Mass2[i] = Mass[i]; break;
        case '8': Mass2[i] = Mass[i]; break;
        case '9': Mass2[i] = Mass[i]; break;
        case '.': Mass2[i] = Mass[i]; break;
        default:
            break;
        }
    }
    double money = atof(Mass2);
    return money;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2013, 17:55     Перевод из строки в число
Посмотрите здесь:

C++ Перевод из строки в число
C++ Перевод из строки в число
Правильный перевод строки в число C++
Перевод строки в число C++
C++ Перевод строки в число
Перевод из строки в число в текстовом файле C++
C++ Перевод строки в целое число
Перевод из строки в число C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
26.07.2013, 18:31     Перевод из строки в число #2
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
    double getmoney()
{   
    unsigned int i;
    char Mass[max], Mass2[max];
    cout << "Введите сумму: "; 
    cin.get(Mass, max);
    for(i = 0; i < strlen(Mass); i++)
    {   
            switch (Mass[i])
        {
        case '0': Mass2[i] = Mass[i]; break;
        case '1': Mass2[i] = Mass[i]; break;
        case '2': Mass2[i] = Mass[i]; break;
        case '3': Mass2[i] = Mass[i]; break;
        case '4': Mass2[i] = Mass[i]; break;
        case '5': Mass2[i] = Mass[i]; break;
        case '6': Mass2[i] = Mass[i]; break;
        case '7': Mass2[i] = Mass[i]; break;
        case '8': Mass2[i] = Mass[i]; break;
        case '9': Mass2[i] = Mass[i]; break;
        case '.': Mass2[i] = Mass[i]; break;
        default: Mass2[i]='0';
            break;
        }
    }
    double money = atof(Mass2);
    return money;
}
я вот так решала
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
void mstold()
    {   int p=0;
        cout<<"\nВведите сумму денег: \n";
        cin.get(str, max);
        string s;
        int len= strlen(str);
        for(int i=0; i<len; i++)
        { 
            if(isdigit(str[i]) || str[i]=='.')
        {
            str2[p]=str[i];
        p++;
            }
        }
        str2[p] = '\0';
       
            
 
        
        unsigned long double n =  atof(str2);
        cout<<"Ваш текущий долг: "<<setiosflags(ios::fixed) 
            << setiosflags(ios::showpoint) << setprecision(2) <<n<<endl;
        
        
     }
Yandex
Объявления
26.07.2013, 18:31     Перевод из строки в число
Ответ Создать тему
Опции темы

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