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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
#1

исправьте ошибку!округлить double до 2-х знаков после запятой - C++

07.12.2012, 01:25. Просмотров 1611. Ответов 4
Метки нет (Все метки)

округлять,не используя math.h

C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <stdio.h>
 
int main ()
{
    double i;
    printf ("i=");
    scanf ("%f", &i);
    printf ("%.2f \n",i);
    return 0;
}
И ещё вопрос,чтобы поменялось,если нужно было int до разряда сотых округлять?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 01:25     исправьте ошибку!округлить double до 2-х знаков после запятой
Посмотрите здесь:
Как округлить в С++ вещественное число до 2 знаков после запятой? C++
Как вывести double до 2 знаков после запятой? C++
C++ Подсчет знаков после запятой в переменной double
C++ Как отображать у double больше знаков после запятой?
Точность в N знаков после запятой числа типа double C++
Какая функция определяет количество знаков после запятой переменной double? C++
C++ Округлить число до 25 знаков после десятичной точки
Количество знаков после запятой C++
Вывод n знаков после запятой C++
Вывести n знаков после запятой C++
Число знаков после запятой C++
Количество знаков после запятой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
07.12.2012, 02:20     исправьте ошибку!округлить double до 2-х знаков после запятой #2
Самым простым вариантом разве не будет просто считать только эти 2 знака после запятой? "%.2f"
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
07.12.2012, 11:17  [ТС]     исправьте ошибку!округлить double до 2-х знаков после запятой #3
Цитата Сообщение от maSt Посмотреть сообщение
Самым простым вариантом разве не будет просто считать только эти 2 знака после запятой? "%.2f"
Я и пыталась так делать, но проблема в том,что когда во втором printf вместо i я пишу число с плавающей точкой, всё работает, а если я на том месте не число, а переменная i, то выдает какое то запредельное отрицательное число.Почему так происходит?
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
07.12.2012, 11:21     исправьте ошибку!округлить double до 2-х знаков после запятой #4
Цитата Сообщение от marina11 Посмотреть сообщение
Почему так происходит?
потому что "%f" - это float.
double - "%lf".
Тоже самое, касается и scanf
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
07.12.2012, 11:35  [ТС]     исправьте ошибку!округлить double до 2-х знаков после запятой #5
Цитата Сообщение от Croessmah Посмотреть сообщение
потому что "%f" - это float.
double - "%lf".
Тоже самое, касается и scanf
Спасибо,теперь всё работает!
Yandex
Объявления
07.12.2012, 11:35     исправьте ошибку!округлить double до 2-х знаков после запятой
Ответ Создать тему
Опции темы

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