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

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

Восстановить пароль Регистрация
 
Lovan
1 / 1 / 0
Регистрация: 10.02.2013
Сообщений: 24
19.02.2013, 11:26     Как вывести double по заданой маске? #1
Здравствуйте)
Мне нужно вывести число по такой маске: 0.ddddddedddddddddd. Как это можна сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 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
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
636 / 557 / 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 по заданой маске?
Еще ссылки по теме:

Вывести double через messagebox C++
Double вывести все цифры C++
Почему мы пишем double x (double y)? а не через запятую double x,y C++

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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 по заданой маске?
Ответ Создать тему
Опции темы

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