• Advertisement

Archived

This topic is now archived and is closed to further replies.

C typecasting question...

This topic is 5745 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

If I cast from a double to float, how is the conversion performed? Is the double just truncated to make it a float?

Share this post


Link to post
Share on other sites
Advertisement
It''s just copied to the destination and then rounded up or down. Look at this example:


float Float = 0f;
double Double = 3.1234567891234f;
Float = Double;


The maximum number of digits after the comma a float can hold is 5. When the line "Float = Double" is executed, the variable Double is truncated to 6 digits after the comma, and then rounded to 5 digits. So the value of Float becomes 3.12346.

Spartacus

Share this post


Link to post
Share on other sites

  • Advertisement