Проблема с отображением десятичных значений в программе C - PullRequest
3 голосов
/ 12 августа 2010

тип данных 'float' отображает десятичные числа.по умолчанию мой компилятор отображает до 6 знаков после запятой.Я хочу видеть только два десятичных знака.например, когда компилятор выполняет операцию «c = 2/3», он отображает «0,666666667».Я хочу видеть только «0,67» на моем экране вывода.Итак, какие необходимые изменения я должен сделать в программе C?

Ответы [ 3 ]

4 голосов
/ 12 августа 2010

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

int main() {
  double d = 2.0 / 3.0;
  printf("%.2f\n",d);
  return 0;
}

Вот вывод:

---------- Capture Output ----------
> "c:\windows\system32\cmd.exe" /c c:\temp\temp.exe
0.67

> Terminated with exit code 0.
1 голос
/ 12 августа 2010

Формат печати для десятичных чисел равен%. сопровождаемый количеством отображаемой десятичной точности, за которым следует «f».

Таким образом, отображение двух десятичных разрядов будет

printf("%.2f", i);

и отображение шести десятичных разрядов будет

printf("%.6f", i);
1 голос
/ 12 августа 2010

Вы вообще не сказали нам, как отображать значение, поэтому я полагаю, что вы используете что-то вроде printf("%f", x). Вы можете поставить префикс «f» с точной спецификацией, которая представляет собой точку, за которой следует число, например printf("%.2f", x).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...