Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 10.01.2013
Сообщений: 9
1

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

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

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

Написать защиту от ввода чисел с плавающей точкой, отрицательных чисел и символов
Привет всем! Вот пишу программу, преподаватель сказал чтобы написал защиту от ввода чисел с...

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

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

Сравнение чисел с плавающей точкой
Известно, что числа с плавающей точкой нельзя сравнивать с помощью ==. Однако, нет ли исключения из...

4
Грамотный. Безпорно.
16852 / 9747 / 1878
Регистрация: 27.09.2012
Сообщений: 24,152
Записей в блоге: 2
18.07.2013, 13:26 2
А такой вариант:
C++
1
printf("%.1f\n", test);
???

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

А можно где-нибудь посмотреть по каким правилам происходит округление в printf?
0
4 / 4 / 0
Регистрация: 04.07.2013
Сообщений: 52
18.07.2013, 13:39 4
А что вам нужно вывести?
попробуйте так
C++
1
printf("%-5.5g\n", test);    // 0.58
0
Грамотный. Безпорно.
16852 / 9747 / 1878
Регистрация: 27.09.2012
Сообщений: 24,152
Записей в блоге: 2
18.07.2013, 13:40 5
delete
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2013, 13:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Представление чисел с плавающей точкой
Никак не пойму почему в коде: double helper; bool cond; int dim_2; int dim_1;...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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