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

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

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

Форматирование чисел с плавающей точкой - C++

18.07.2013, 13:18. Просмотров 562. Ответов 4
Метки нет (Все метки)

Все знают про проблемы с представлением дробных чисел.
Например:
C++
1
2
3
4
    
    double test = .58;
    printf("%f\n", test);    // 0.580000
    printf("%.20f\n", test); // 0.57999999999999996003
Число .58 представлено как .57999... но выводиться как .58.
Как реализовать такое форматирование?
По каким правилам и до скольких знаков округлять?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2013, 13:18     Форматирование чисел с плавающей точкой
Посмотрите здесь:

Умножения чисел с плавающей точкой - C++
Доброго времени суток,нужна ваша помощь в умножение чисел с плавающей точкой. Суть программы:Умножение чисел в двоичном коде.Первое число...

Калькулятор чисел с плавающей точкой - C++
double calculate(float x, char s, float y); int main() { float x,y; char s; x=y=0; cin>>x>>s>>y;

Сравнение чисел с плавающей точкой - C++
Известно, что числа с плавающей точкой нельзя сравнивать с помощью ==. Однако, нет ли исключения из этого правила? Дело вот в чём. Если мы...

Массив чисел с плавающей точкой - C++
#include <iostream> #include <ctime> #include <fstream> using namespace std; int main() { float randomDigits_5 {}; ...

Проблема сравнения чисел с плавающей точкой - C++
Добрый вечер, развивая тему к которой меня подтолкнул, Байт, посоветуйте ряд лайффаков на тему фикса (кроссплатформенность же ж ) ...

Считывание из файла чисел с плавающей точкой - C++
программа считывания из файла чисел в двумерный массив но как только в файле обнаруживаются числа с плавающей точкой то программа перестает...

Округление положительных чисел с плавающей точкой - C++
Добрый день ! Нужно округлить положительных чисел с плавающей точкой в большую сторону к числу кратному 5. то есть если есть...

Определите одномерный массив из 10 чисел с плавающей точкой - C++
1. Определите одномерный массив из 10 чисел с плавающей точкой в тексте программы. Вычислите минимальное и максимальное значение и позиции...

Неверный вывод отсортированного массива чисел с плавающей точкой - C++
Когда эту же программу запускаю не в потоке, выводит все правильно. #include <iostream> #include <cstdlib> #include <windows.h> ...

Прочитать квадратную матрицу чисел с плавающей точкой из файла - C++
Препод сказал мне выполнить задание с 2.2, но я не понял что и как мне делать?!?!?! Может кто помочь(кому не трудно). Чтобы было понятнее,...

Как найти остаток от деления чисел с плавающей точкой? - C++
Приветствую. Есть код: for(int i=0;i<n;i++) { if(mas%2.0==0.0) { t++; } } Пишет что операция "%" невозможна,...

Деление чисел с плавающей точкой в двоичной системе счисления - C++
Доброго времени суток,форумчане! Нужна ваша помощь в написании программы.Суть задачи поделить два числа с плавающей точкой в двоичной...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.07.2013, 13:26     Форматирование чисел с плавающей точкой #2
А такой вариант:
C++
1
printf("%.1f\n", test);
???

Добавлено через 1 минуту
Цитата Сообщение от i8086 Посмотреть сообщение
По каким правилам и до скольких знаков округлять?
Округление происходит во время вывода.
i8086
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 9
18.07.2013, 13:39  [ТС]     Форматирование чисел с плавающей точкой #3
C++
1
printf("%.1f\n", test);
Выводит 0.6

А можно где-нибудь посмотреть по каким правилам происходит округление в printf?
Helo
4 / 4 / 0
Регистрация: 04.07.2013
Сообщений: 52
18.07.2013, 13:39     Форматирование чисел с плавающей точкой #4
А что вам нужно вывести?
попробуйте так
C++
1
printf("%-5.5g\n", test);    // 0.58
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.07.2013, 13:40     Форматирование чисел с плавающей точкой #5
delete
Yandex
Объявления
18.07.2013, 13:40     Форматирование чисел с плавающей точкой
Ответ Создать тему
Опции темы

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