0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 23
1

Фиксирование количества знаков после запятой

07.07.2016, 10:01. Показов 4825. Ответов 7
Метки нет (Все метки)

Здравствуйте! Мне надо, что функция "q" выводила в консоль число с фиксированной запятой, с количеством знаков после запятой, равным 4. Как это сделать?! "fixed" и "precision" не помогают.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
int g (double a);
 
int main()
{
    
    double a=457.644;
    cout<<g(a)<<"\n";
    system("pause");
}
int g (double a)
{
    double k;
    k=a/452.2656;
    return k;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 10:01
Ответы с готовыми решениями:

Увеличение количества знаков после запятой
Хочу записать в txt файл переменную типа double с точностью больше чем 5 знаков после запятой ...

Ручной ввод количества знаков после запятой
Добрый вечер. Мне необходимо чтобы пользователь руками мог указать сколько знаков после запятой...

Ограничение количества знаков после запятой (float)
В данном примере , происходит ограничение знаков после запятой для всех переменных float, строками...

Округление числа в строке до указанного количества знаков после запятой
Как делать округление в строке, до знака после запятой порядковый номер который задаёт пользователь...

7
Эксперт по математике/физикеЭксперт С++
2001 / 1332 / 379
Регистрация: 16.05.2013
Сообщений: 3,450
Записей в блоге: 6
07.07.2016, 10:22 2
C++
1
2
3
#include <iomanip>
...
std::cout << std::setprecision(4) << 1./3;
0
2758 / 1912 / 569
Регистрация: 05.06.2014
Сообщений: 5,561
07.07.2016, 12:29 3
Цитата Сообщение от SVAROG_ Посмотреть сообщение
Мне надо, что функция "q" выводила в консоль число с фиксированной запятой, с количеством знаков после запятой, равным 4. Как это сделать?!
Вероятно, только что-то свое велосипедить.
Цитата Сообщение от Ilot Посмотреть сообщение
std::setprecision(4)
Оно печатает четыре старших разряда, а не четыре знака после запятой.
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
07.07.2016, 12:43 4
SVAROG_, посмотрите ссылки внизу страницы. Наверняка, ответ уже дан.
0
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 23
07.07.2016, 15:10  [ТС] 5
делаю таким образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int g (double a);
 
int main()
{
    
    double a=457.644;
    cout.setf(ios::fixed);
    cout.precision(4);
    double l;
    l=g(a);
    cout<<l<<"\n";
    system("pause");
}
int g (double a)
{
    double k;
    k=a/452.2656;
    return k;
}
Выводит число с 4 знаками после запятой! Но все нули, а там явно будут не нули. Есть предложения, как сделать, чтоб быи какие-то числа вместо нулей?!
0
Эксперт CЭксперт С++
5094 / 2279 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
07.07.2016, 15:19 6
Цитата Сообщение от SVAROG_ Посмотреть сообщение
Выводит число с 4 знаками после запятой! Но все нули, а там явно будут не нули. Есть предложения, как сделать, чтоб быи какие-то числа вместо нулей?!
Головой подумать. И возвращать из функции не int, а double:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
double g(double a);
 
int main()
{
    
    double a = 457.644;
    cout.setf(ios::fixed);
    cout.precision(4);
    double l;
    l = g(a);
    cout << l << "\n";
    system("pause");
}
 
double g(double a)
{
    double k;
    k = a/452.2656;
    return k;
}
0
25 / 25 / 26
Регистрация: 22.03.2016
Сообщений: 77
07.07.2016, 15:20 7
Цитата Сообщение от SVAROG_ Посмотреть сообщение
Выводит число с 4 знаками после запятой! Но все нули, а там явно будут не нули. Есть предложения, как сделать, чтоб быи какие-то числа вместо нулей?!
Ваша функция "g" возвращает int.
Исправленная программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;
double g(double a);
int main()
{
 
    double a=457.644;
    cout.setf(ios::fixed);
    cout.precision(4);
    double l;
    l=g(a);
    cout<<l<<"\n";
}
double g(double a)
{
    double k;
    k=a/452.2656;
    return k;
}
0
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 23
09.07.2016, 13:28  [ТС] 8
Спасибо, все получилось))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2016, 13:28
Помогаю со студенческими работами здесь

Вывод определенного количества знаков до запятой
Как в С++ с помощью оператора cout выводить число с нужным мне количеством знаков ДО запятой? Т.е....

Число знаков после запятой
Никогда не задумывался, но можно-ли ограничить число знаков во флоате, не для вывода, а для...

Вывод n знаков после запятой
Как это сделать?

Количество знаков после запятой
После запятой нужно всешжа показывать определенные число знаков, например шесть: 263.000000 Иными...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru