我有一个double:
double
double d = 25.342;
如何将其转换为25?如果是-12.46,我想得到-13。
25
-12.46
-13
xlpyo6sf1#
int i = (int)floor(25.342);
gk7wooem2#
注意,这将把12.99999转换为12。Ref
fruv7luv3#
其中x是您的25.342:
x
25.342
int i = x >= 0 ? (int)(x+0.5) : (int)(x-0.5)
carvr3hs4#
#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
4条答案
按热度按时间xlpyo6sf1#
gk7wooem2#
注意,这将把12.99999转换为12。
Ref
fruv7luv3#
其中
x
是您的25.342
:carvr3hs4#
您可能还需要查看stdint. h