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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Принцип наименьших привилегий http://www.cyberforum.ru/cpp-beginners/thread634452.html
Вопрос такой. Как строго следовать принципу наименьших привилегий? Например: стоит ли объявлять глобальные объекты со спецификатором static, даже если используется один файл; стоит ли передавать в функции константные указатели; стоит ли возвращать константные данные из функции? и т.д. Ни разу в кодах программы не видел строгого следования этому принципу, однако в книгах говорится иное. Или же...
C++ STL Containers Допустим есть проект Как сделать вектор растущим... насколько я понимаю это надо юзать resize() function мол VectorDoubles.resize(и тут типа число элементов ) Но вопрос такой... я вот не инициализировал никакое значение в VectorDoubles и начал push_back чить его в цикле и что то он у меня не ругается... т.е. он у меня из без кого растущий получается ??? или я не догоняю какой то момент... 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 Application. Хочу попросить чтобы мне посоветовали литературу или сайт где есть уроки поповоду использования WFA.
C++ Разыменования указателя Добрий день подскажите пожалуйса можно ли разыменовать такое вот виражения pt->str char*pt-указатель str объект класса _bstr_t нужно получить данные которые находятся в str если сделать вот так cout<< pt->str; то я данные вижу а если вот так SetDlgItemText(IDC_EDIT1,pt->str); то в окно EDIT1 ничего не выводит может его можно разыменовать? подробнее

Показать сообщение отдельно
Catstail
Модератор
 Аватар для Catstail
21500 / 10253 / 1669
Регистрация: 12.02.2012
Сообщений: 17,139
08.08.2012, 09:15     Преобразование типов string->double c заданной точностью*?
Цитата Сообщение от Antka Посмотреть сообщение
Проблема стандартной функции atof (и других) то, что она отваливается (return 0.0) если туда передать строку такого вида
"00.333"
- гм... Вот мой код:

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
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
 
double char2double(char *S)
{
    int i,l=strlen(S),k=1;
    double r=0,p=1;
    for (i=0; i< l; 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 = "00123.456"; // нарочно набил незначащих нулей!
    cout << atof(S) << endl;
    cout << char2double(S) << endl;
    return 0;
}
А вот результат (см. миниатюру). atof работает совершенно нормально! (VC++ 6.0)
Миниатюры
Преобразование типов string->double c заданной точностью*?  
 
Текущее время: 08:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru