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

Количество цифр в вещественном (!) числе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти общую стоимость товаров, которые дороже 1000 рублей http://www.cyberforum.ru/cpp-beginners/thread1178267.html
Заданы, функцией rand(), стоимости товаров в группе. Найти общую стоимость товаров, которые дороже 1000 рублей (количество товаров не известно). Добавлено через 32 минуты help
C++ Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел, содержащих до 40 цифр. Создайте функции элементы inputHugeInteger, outputHugeInteger, addHugeIntegers... http://www.cyberforum.ru/cpp-beginners/thread1178266.html
Что будет находится в переменных a и b после выполнения следующего фрагмента C++
Что будет находится в переменных a и b после выполнения следующего фрагмента программы: int a=5, b=2; a*=a-b++;
C++ Вывести строку, обратную заданной
Собственно программа для того что бы вывести строку обратную данной. Я не могу догнать как она работает. Понятно до того момента как , " for (int j = 0; j <len / 2; j++) " , зачем мы количество...
C++ Двунаправленный список строк: Определить три наиболее распространенных среди студентов имен http://www.cyberforum.ru/cpp-beginners/thread1178249.html
Нужно помочь с динамическими структурами данных: проблема в том, что я ничего не могу понять здесь у меня задача: "15.Сформуваты двунаправленный список строк, каждая из которых состоит из ...
C++ В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное В начало бинарного файла целого типа нужно дописать его минимальное значение, а в конец максимальное. В общем я написал но оно почему то не пишет в конец максимальный элемент и вставляя минимальный... подробнее

Показать сообщение отдельно
Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 94
16.05.2014, 22:56
Цитата Сообщение от mymedia Посмотреть сообщение
но почему-то нет обратного
Ну как же нет, если есть?) Только забегая вперед, скажу что он Вам не всегда поможет
C++
1
2
3
4
5
6
7
double test = 1.0 / 1000000000.0;
 
std::cout << test << "\n";                    // 1e-009
std::cout.setf(std::ios::fixed);              
std::cout << test << "\n";                    // 0.000000
std::cout.unsetf(std::ios::fixed);
std::cout << test << "\n";                    // 1e-009
Выводимое количество знаков после запятой регулируется так:
C++
1
2
std::cout.setf(std::ios::fixed);
std::cout << std::setprecision(9) << test << "\n";           //0.000000001
Но такой трюк сработает не со всеми числами. Дело в том, что тип double хранит 15-17 значащих цифр (видимо дело в двоичном представлении числа и его округлении). Причем не важно, до запятой или после.

C++
1
2
3
4
double test = 10000000000.111111;
 
std::cout.setf(std::ios::fixed);
std::cout << std::setprecision(9) << test << "\n";      // 10000000000.1111110687
Так что, я бы на Вашем месте наверно умножал на 10 до тех пор, пока 15 цифр не окажутся до запятой, потом взять целую часть, убрать лишние нули в конце, и уже тогда считать цифры.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru