Форум программистов, компьютерный форум, киберфорум
Наши страницы

Преобразование типов string->double c заданной точностью*? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Принцип наименьших привилегий http://www.cyberforum.ru/cpp-beginners/thread634452.html
Вопрос такой. Как строго следовать принципу наименьших привилегий? Например: стоит ли объявлять глобальные объекты со спецификатором static, даже если используется один файл; стоит ли передавать в...
C++ STL Containers Допустим есть проект Как сделать вектор растущим... насколько я понимаю это надо юзать resize() function мол VectorDoubles.resize(и тут типа число элементов ) Но вопрос такой... я вот не... http://www.cyberforum.ru/cpp-beginners/thread634425.html
STL Iterators C++
Допустим есть проект #ifndef ContainerTemplateFunction_hpp // Preprocessor gates #define ContainerTemplateFunction_hpp #include <list> #include <vector> #include <iostream>
C++ Перевод из кодировки UTF - 8 в ANSI
Всем привет! Пишу прогу на линухе, результаты работы вывожу в html файл. Так вот когда открываю файл для прочтения с помощью браузера там иероглифы, с помощью текстового редактора в linux то все ок....
C++ Книги для использования оконных приложений http://www.cyberforum.ru/cpp-beginners/thread634416.html
Всем привет. Консольные приложение это хорошо, но я уже прочитал книгу, и более менее знаю азы c++. Но хотелось бы создавать уже нормальные, красивые приложения с использованием Windows Forms...
C++ Разыменования указателя Добрий день подскажите пожалуйса можно ли разыменовать такое вот виражения pt->str char*pt-указатель str объект класса _bstr_t нужно получить данные которые находятся в str если сделать вот так... подробнее

Показать сообщение отдельно
Catstail
Модератор
22833 / 11199 / 1812
Регистрация: 12.02.2012
Сообщений: 18,437
07.08.2012, 21:12
А что, atof в C++ не поддерживается? Вообще-то, методический смысл от того, чтобы вспомнить, какую функцию вызвать - невелик... Для пытливых умов приведу код перевода:

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
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
 
double char2double(char *S)
{
    int i,l,k=1;
    double r=0,p=1;
    for (i=0; i< strlen(S); i++)
    {
        if (k < 0) p=p*10;
        if (S[i] == '.')
            k=-k;
        else
            r=r*10+(S[i]-'0');
    }
    return r/p;
}
 
int main(int argc, char* argv[])
{
 
    char *S = "123.456";
    cout << atof(S) << endl;
    cout << char2double(S) << endl;
    return 0;
}
Функция char2double переводит в double строки вида "nnnn.mmmm". Доработать эту функцию, чтобы она брала строки вида "+/- nnn.mmmE+/-pp" оставляю ТС в качестве полезного упражнения (которое каждый программист должен один раз выполнить сам)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru