Ответ 1
int i = (int)floor(25.342);
У меня есть двойной:
double d = 25.342;
Как преобразовать его в значение 25
?
Если бы это было -12.46
, я хотел бы получить -13
.
int i = (int)floor(25.342);
int i = (int)floor(25.342);
Обратите внимание, что это будет конвертировать от 12.99999 до 12.
Ref:
#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
Где x - ваш 25.342
int я = x >= 0? (int) (x + 0,5): (int) (x-0,5)