C Programming - Floating Point Issues - Discussion

Discussion Forum : Floating Point Issues - General Questions (Q.No. 6)
6.
We want to round off x, a float, to an int value, The correct way to do is
y = (int)(x + 0.5)
y = int(x + 0.5)
y = (int)x + 0.5
y = (int)((int)x + 0.5)
Answer: Option
Explanation:

Rounding off a value means replacing it by a nearest value that is approximately equal or smaller or greater to the given number.

y = (int)(x + 0.5); here x is any float value. To roundoff, we have to typecast the value of x by using (int)

Example:


#include <stdio.h>

int main ()
{
  float x = 3.6;
  int y = (int)(x + 0.5);
  printf ("Result = %d\n", y );
  return 0;
}

Output:
Result = 4.

Discussion:
24 comments Page 3 of 3.

Santosh kumar said:   1 decade ago
Can any one explain me about type casting?

Sravan said:   2 decades ago
Is any difference between int and (int) ?

Abhisek said:   9 years ago
@Neev very well explanation. Thank you.

Nikhil said:   1 decade ago
Why answer is (int)(x) +0. 5?


Post your comments here:

Your comments will be displayed after verification.