Jump to content
  • Advertisement
Sign in to follow this  
Dave84311

[.net] Conversion UINT' to 'FLOAT

This topic is 4769 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

Anyone know of a any way to convert UINT to FLOAT. I knew of a function, but I seem to have forgot it. Thanks.

Share this post


Link to post
Share on other sites
Advertisement
You should be able to do regular typecasting:


// method 1
unsigned int value = 25;
float myNumber = (float)value;

// method 2
unsigned int value = 25;
float myNumber = static_cast<float>(value);


I mean if you are going from UINT to FLOAT, you are just adding on a .0000000 because an UINT is a whole number. That's what the typecasting does for you.

Quote:
Original post by Del Snd of Thndr
You might want to check out:
System.Convert.ToSingle()


Thanks for pointing that out. I don't like the renaming convention that takes place in .Net [headshake]. Couldn't find any references to float.

Share this post


Link to post
Share on other sites
Where you are getting that error, you should be using &variable, rather than just variable. It's saying it cannot convert from a float to a float pointer. Can you post some code so we can see exactly what you are doing.

Share this post


Link to post
Share on other sites
I am simply getting some info from directx about a image, taking its height then the direct3d surface and calculating the x and y values for a direct3d vector, that way I can set scale for my images. I had issues with scaling and thought of fixing it this way.

&m_Scale.x = static_cast<float>(imageInfo.Width / desc.Width);
&m_Scale.y = static_cast<float>(imageInfo.Height / desc.Height);

I know about the pointer and such, but when I did it I got the error. Thats the problem it has to be a pointer and make refrences else all my objects will be the same shape. Removing the pointer makes it work but only one sprite shows.

Share this post


Link to post
Share on other sites
Any reason you are trying to assign to the address of those variables?

Could you not just go

m_Scale.x = (float)(imageInfo.Width / desc.Width);
m_Scale.y = (float)(imageInfo.Height / desc.Height);

That's how I would do it

Share this post


Link to post
Share on other sites
Ahh that sounds like a DirectX problem as for why not both sprites are showing. As for the code:

m_Scale.x = static_cast<float>(imageInfo.Width / desc.Width);
m_Scale.y = static_cast<float>(imageInfo.Height / desc.Height);

Should be what you need if imageInfo, desc, and m_Scale are not pointers. What are the variable declarations of all those variables that you use? Can you list m_Scale, m_Scale.x, m_Scale.y, imageInfo, imageInfo.Width, desc, desc.Width, imageInfo.Height, and desc.Height.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!