When the final value of the floating type is converted to an integer type, the fractional part is discarded (i.e. the value is truncated to zero ).
So, in case -10.5it is converted to -10.
C ++ 11 4.9 Conversions with a floating integral [conv.fpint]
r rvalue . ; .. . undefined, . [. - bool, . 4.12. -end note]