如何将一个double舍入到C中最接近的较小的int?

Man*_*áoz 15 c double int

我有一双:

double d = 25.342;
Run Code Online (Sandbox Code Playgroud)

如何将其转换为25价值?

如果是-12.46我想要的话-13.

Ara*_*raK 30

int i = (int)floor(25.342);
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,您实际上无法获得值的底限的整数版本,因此它并不重要. (5认同)

sor*_*oru 15

int i = (int)floor(25.342);
Run Code Online (Sandbox Code Playgroud)

请注意,这会将12.99999转换为12.

参考:

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

  • `floor()`返回一个double(C标准中的§7.12.9.2). (4认同)