我有一双:
double d = 25.342;
如何将其转换为25
值?
如果是-12.46
,我想获得-13
。
答案 0 :(得分:29)
int i = (int)floor(25.342);
答案 1 :(得分:15)
int i = (int)floor(25.342);
请注意,这会将12.99999转换为12。
价:
答案 2 :(得分:1)
#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
答案 3 :(得分:0)
其中x是你的25.342
int i = x&gt; = 0? (int)(x + 0.5):( int)(x-0.5)