Как округлить двойное значение до ближайшего меньшего целого числа в C?
Вопрос
У меня есть двойник:
double d = 25.342;
Как я могу преобразовать его в 25
ценить?
Если бы -12.46
Я хотел бы получить -13
.
Решение
int i = (int)floor(25.342);
Другие советы
int i = (int)floor(25.342);
Обратите внимание, что это преобразует 12,99999 в 12.
Ссылка:
Где x - это ваш 25,342
int i = x > = 0? (int) (x + 0.5): (int) (x-0.5)
#include <math.h>
#include <stdio.h>
int main(){
double d = 25.342;
double e = -12.99;
printf("%d\n",(int)round(d)); // 25
printf("%d\n",(int)round(e)); // -13
return 0;
}
Вы также можете взглянуть на stdint.h
Не связан с StackOverflow