Wie ein Doppel zur nächsten kleineren int in C abrunden?
Frage
Ich habe eine doppelte:
double d = 25.342;
Wie kann ich konvertieren es Wert 25
?
Wenn es wurden -12.46
Ich möchte -13
erhalten.
Lösung
int i = (int)floor(25.342);
Andere Tipps
int i = (int)floor(25.342);
Beachten Sie diese 12,99999-12 konvertieren.
Ref:
Wo x ist Ihr 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;
}
Sie können auch wollen einen Blick auf stdint.h nehmen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow