Domanda

Ho un doppio:

double d = 25.342;

Come posso convertirlo nel valore 25 ?

Se fosse -12.46 vorrei ottenere -13 .

È stato utile?

Soluzione

int i = (int)floor(25.342);

Altri suggerimenti

int i = (int)floor(25.342);

Nota che questo convertirà 12.99999 in 12.

Rif:

http://www.codecogs.com/reference/c/ math.h / floor.php

Dove x è il tuo 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;
}

Potresti anche dare un'occhiata a stdint.h

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top