17

私はダブルを持っています:

double d = 25.342;

どうすれば25値に変換できますか?

もしそうなら、-12.46私は取得したいです-13

4

4 に答える 4

33
int i = (int)floor(25.342);
于 2009-10-27T15:21:21.847 に答える
16
int i = (int)floor(25.342);

これにより、12.99999が12に変換されることに注意してください。

参照:

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

于 2009-10-27T15:25:38.950 に答える
1

ここで、xは25.342です。

int i = x> = 0?(int)(x + 0.5):( int)(x-0.5)

于 2009-10-27T15:26:50.933 に答える
0
#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もご覧ください。

于 2012-10-22T12:18:49.043 に答える