У меня есть двойной:
double d = 25.342;
Как я могу преобразовать его в 25 значение?
25
Если бы это было -12.46 Я бы хотел получить -13.
-12.46
-13
int i = (int)floor(25.342);
Обратите внимание, что это преобразует 12.99999 в 12.
Ref:
http://www.codecogs.com/reference/c/math.h/floor.php
#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
где х ваш 25,342
int i = x> = 0? (int) (x + 0.5): (int) (x-0.5)