average_angela Ответов: 1

Есть проблема в языке Си с его округлением чисел вверх


эй, вот в чем проблема: я хочу напечатать только три цифры 0.3228 и использую "%.3f", но с помощью этого он округляет его до 0.323, но я хочу, чтобы он показал 0.322 у кого-нибудь есть какие-нибудь решения?

Что я уже пробовал:

я понятия не имею, как это сделать, я думал вырезать цифры после " 2 " в 0.3228, но есть ли у кого-нибудь какие-нибудь идеи по этому поводу

1 Ответов

Рейтинг:
7

CPallini

#include <stdio.h>
#include <math.h>
int main()
{
  double d = 0.3228;
  double truncated = floor(d*1000)/1000;
  printf("d = %.3f, truncated=%.3f\n", d, truncated);
  return 0;
}