• Advertisement
Sign in to follow this  

Display double in TextOUT

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

Hello, I need a little help.
			wchar_t time = (wchar_t)gettingExecutionTime(end, begin);

			TextOut(hdc, 10, 10, time, 100);

I get hieroglyphs. Can anyone tell me how should I display numbers?

Share this post


Link to post
Share on other sites
Advertisement
The problem is you're treating time as an integer with gettingExecutionTime, but then later treating time as a (wide) character array.


#include <sstream>
#include <string>

// Casting to wchar_t cuts off decimal
// wchar_t time = (wchar_t)gettingExecutionTime(end, begin);
double time = gettingExecutionTime(end, begin);

std::wstringstream wss;
wss << time;

TextOut(hdc, 10, 10, wss.str().c_str(), 100);



It's the difference of:

const wchar_t* resultString = L"\x1234" /* many garbage characters */ L"\0";

and
const wchar_t* resultString = L"1234.1234";
  • Sign in to follow this  

    • Advertisement