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

Форматированный вывод действительного числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление лишних (подряд идущих) разделителей при разделении строки http://www.cyberforum.ru/cpp-beginners/thread1171599.html
Здравствуйте! Задача такая: вводятся в массив razd N разделителей(ну там что то на подобии "!" , "." , "?" , "пробел" и тд... только этот разделитель может быть любым символом), потом вводится текст. В этом тексте могут повторяться разделители к примру так:...
C++ Удалить из очереди отрицательные числа 1 создать очередь( элементы добавлять динамически - push) 2 вывод на экран 3 удалить отрицательные элементы 4 вывод на экран 5 удалить все созданные контейнеры Неужели так трудно переписать!!!!!!!! интерфейс http://www.cyberforum.ru/attachment.php?attachmentid=397092&stc=1&d=1399733687 http://www.cyberforum.ru/cpp-beginners/thread1171584.html
C++ Как удалить элементы динамического массива, а не сам массив?
Всем здравствуйте и помогите пожалуйста разобраться. Как удалить элементы динамического массива, а не сам массив? Если что, вот пример кода в котором идёт обращение к несуществующей области памяти: for(int i=0; i<size; i++) { char *temp_word = new char ; if(isspace(string)) continue;
C++ Имитация работы станка
Добрый вечер! Прошу помощи в решении следующей задачи. Необходимо симитировать работу такого станка: В первый ящик попадает деталь в интервале от 1 до 5 секунд. При попадании счетчик увеличивается (+1) Станок обрабатывает деталь в течении 5 секунд. При выборке днталей из ящика счетчик уменьшается (-1) Подключить генератор случайных чисел от 1 до 5 секунд. Закончить данный процесс через 60...
C++ Моделирование работы концентратора http://www.cyberforum.ru/cpp-beginners/thread1171568.html
Добрый вечер! Задание следующего характера: Необходимо симитировать работу концентратора в сети, а именно отправить пакет от отправителя к получателю, сравнивая соответствующие ip адреса. Намекните как это можно реализовать, в сторону каких функций, буду благодарен за любую информацию! Возможно на других языках программирования
C++ Имитация менеджера запуска приложений Добрый вечер! Подскажите пожалуйста какие методы, функции использовать для решения следующей задачи: Необходимо разработать менеджер запуска программ Реализовать: 1) Установка пути к *.exe файлу 2) Указывать список и время запущеных программ Буду благодарен за помощь! подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3040 / 1685 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.06.2014, 05:02     Форматированный вывод действительного числа
Цитата Сообщение от Donville Посмотреть сообщение
после вывода числа нужно поставить precision по default
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cmath>
#include <iomanip>
#include <iostream>
#include <sstream>
/////////////////////////////////////////////////////////////////////////////////////////
int  main()
{
    double  val     =   1.23456e-20;
    std::cout   <<  std::scientific
                <<  val
                <<  std::endl;
 
    int     old_prec    =   std::cout.precision(2);
 
    std::cout   <<  val
                <<  std::endl
                <<  std::setprecision( old_prec )
                <<  val
                <<  std::endl;
 
    system( "pause" );
}
Добавлено через 37 минут
Цитата Сообщение от Donville Посмотреть сообщение
И повторюсь, можно ли чтобы там где е020 стало просто е20?
Ну, если сильно заморочиться, то можно сделать:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <cmath>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
/////////////////////////////////////////////////////////////////////////////////////////
void print_trim( double  d )
{
    std::ostringstream  sout;
 
    sout    <<  std::scientific
            <<  std::setprecision(2)
            <<  d;
 
    std::istringstream  ssin    (
                                    sout.str()
                                );
 
    int     id      =   0;
    ssin    >>  id;
 
    char    c   =   0;
    ssin    >>  c;//точка
 
    int     iid     =   0;
    ssin    >>  iid;
 
    ssin    >>  c;//e
 
    int     iiid    =   0;
    ssin    >>  iiid;
 
    std::cout   <<  id
                <<  '.'
                <<  iid
                <<  'e'
                <<  iiid;
}
/////////////////////////////////////////////////////////////////////////////////////////
int  main()
{
    double  val     =   1.23456e-20;
    print_trim(val);
    std::cout   <<  std::endl;
 
    print_trim(-0.2);
    std::cout   <<  std::endl;
 
    print_trim(-1.0 / 3);
    std::cout   <<  std::endl;
 
    print_trim(0);
    std::cout   <<  std::endl;
 
    system( "pause" );
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru