Comment arrondir un double au plus petit int le plus proche en C?
Question
J'ai un double:
double d = 25.342;
Comment puis-je le convertir en 25
valeur?
S'il s'agissait de -12,46
, j'aimerais obtenir -13
.
La solution
int i = (int)floor(25.342);
Autres conseils
int i = (int)floor(25.342);
Notez que cela convertira 12.99999 en 12.
Réf.:
Où x est votre 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;
}
Vous pouvez également consulter stdint.h
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow