Ani*_*ack 5 c double casting math.h
我有下面的例子:
double x = 2.5;
int n = (int)x;
int k = (int) floor(x);
Run Code Online (Sandbox Code Playgroud)
将double转换为int会返回舍入数字吗?或者我应该使用地板功能?
好(int)截断初始double值(删除小数部分)
2.1 -> 2
2.5 -> 2
2.99 -> 2
Run Code Online (Sandbox Code Playgroud)
它看起来像floor,但在负数的情况下它们不一样:
(int)-2.1 -> -2
floor(-2.1) -> -3.0
Run Code Online (Sandbox Code Playgroud)
因为floor返回的最大整数值小于或等于给定的参数