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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
#1

Как вывести double по заданой маске? - C++

19.02.2013, 11:26. Просмотров 441. Ответов 11
Метки нет (Все метки)

Здравствуйте)
Мне нужно вывести число по такой маске: 0.ddddddedddddddddd. Как это можна сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
19.02.2013, 11:44     Как вывести double по заданой маске? #2
если я тебя правильно понял тебе надо 13 цифр после точки? тогда что то вроде такого
C++
1
printf("%.13lf",double_value);
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 11:50  [ТС]     Как вывести double по заданой маске? #3
Не совсем так, после 6 цифры должно стоять e, например, 0.149143e0000000011
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 11:54     Как вывести double по заданой маске? #4
C++
1
2
3
#include <iomanip>
double a = 4.53536235622;
std::cout << std::setprecision( 13 ) << std::scientific << a;
Добавлено через 3 минуты
Так?
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 11:54  [ТС]     Как вывести double по заданой маске? #5
Спасибо, но это не то, что мне нужно (смотри выше).
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 11:56     Как вывести double по заданой маске? #6
Я уже исправил, пробуй
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 12:00  [ТС]     Как вывести double по заданой маске? #7
Нет, опять не то, целая часть должна быть 0, и после e не должно быть +.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
19.02.2013, 12:05     Как вывести double по заданой маске? #8
да что такое е, ты можешь по-человечески объяснить?
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 12:10  [ТС]     Как вывести double по заданой маске? #9
Ну, експонента (2,7...), что ж ещё-то?
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
19.02.2013, 12:37     Как вывести double по заданой маске? #10
C++
1
2
float fVal = 3241512355.3344563;
    printf("\n%.6e\n",fVal);
6 знаков после запятой остальное сделать как я не могу предложить)
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 15:45  [ТС]     Как вывести double по заданой маске? #11
Ладно, спасибо и на том, буду думать дальше.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 16:42     Как вывести double по заданой маске?
Еще ссылки по теме:

Вывести элементы массива, находящихся между его min и max. Перегрузка функций для int и double C++
Вывести таблицу значений функции с заданой точностью C++
Вывести double через messagebox C++
Double вывести все цифры C++
C++ C++: как преобразовать double в string?

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
19.02.2013, 16:42     Как вывести double по заданой маске? #12
Что "спасибо и на том"??
Я понял, тут все обсуждают знаки после запятой, а тебе надо выводить в экспоненциальной форме.
Вот только ты сам эту форму не до конца понимаешь.
Запись
1.2345е+3
эквивалентна 1.2345*103
или 1234.5
число е=2.71... тут вообще не при чём!
Для вывода в такой форме в строке для printf надо писать
C++
1
printf("%e", number);
Yandex
Объявления
19.02.2013, 16:42     Как вывести double по заданой маске?
Ответ Создать тему
Опции темы

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