Here we will see how to write one-line C function, that can round floating point numbers. To solve this problem, we have to follow these steps.
- Take the number
- if the number is positive, then add 0.5
- Otherwise, subtract 0.5
- Convert the floating point value to an integer using typecasting
Example
#include <stdio.h>
int my_round(float number) {
return (int) (number < 0 ? number - 0.5 : number + 0.5);
}
int main () {
printf("Rounding of (2.48): %d\n", my_round(2.48));
printf("Rounding of (-5.79): %d\n",my_round(-5.79));
}Output
Rounding of (2.48): 2 Rounding of (-5.79): -6