c++ - Problem: Real numbers
- Elisha Kendagor <kendagor iconnect.co.ke> Apr 08 2001
- "Rajiv Bhagwat" <dataflow vsnl.com> Apr 10 2001
- Jan Knepper <jan smartsoft.cc> Apr 10 2001
- "Rajiv Bhagwat" <dataflow vsnl.com> Apr 10 2001
- Jan Knepper <jan smartsoft.cc> Apr 11 2001
- "Kar Gay Lim" <kagay kimay.net> Apr 11 2001
- Jan Knepper <jan smartsoft.cc> Apr 11 2001
- Elisha Kendagor <kendagor iconnect.co.ke> Apr 13 2001
char *dispstr; int ddec, dsign; double immservice; . . //suppose immservice = 832.3343 and I convert it... dispstr = _fcvt(immservice, 5, &ddec, &dsign); //I will get dispstr = 8323345, ddec = 3; dsign = 0; // please guide me to obtain something to fit here... SetDlgItemText(hdlg,ID_TIMEQUEUE, ****** ); //...so that the displayed text is "832.3345" Thank you.
Apr 08 2001
The sprintf function is an easier way of doing this. Use of --------------- char str[30]; sprintf(str, "%7.3f", immservice); SetDlgItemText(hdlg,ID_TIMEQUEUE, str ); ---------------- should do the trick. If you are using C++ (and why not? it is better!) why not define a class that does the following: (Based on the code above)(This is an excersize for you!) ----------------- FloatText ft(hdlg, ID_TIMEQUEUE); ft = immservice; ----------------- This will be quite useful if you need to do it often. - Rajiv Elisha Kendagor <kendagor iconnect.co.ke> wrote in message news:3AD0BA05.1DDC8AF4 iconnect.co.ke...char *dispstr; int ddec, dsign; double immservice; . . file://suppose immservice = 832.3343 and I convert it... dispstr = _fcvt(immservice, 5, &ddec, &dsign); file://I will get dispstr = 8323345, ddec = 3; dsign = 0; // please guide me to obtain something to fit here... SetDlgItemText(hdlg,ID_TIMEQUEUE, ****** ); file://...so that the displayed text is "832.3345" Thank you.
Apr 10 2001
FloatText ft(hdlg, ID_TIMEQUEUE); ft = immservice;
Nag! A function will do just fine... static const int BUFFER = 256; BOOL SetDlgItemDouble ( HWND hwnd, int item, LPCTSTR format, double value ) { TCHAR buffer [ BUFFER ]; _stprintf ( buffer, format, value ); return ( SetDlgItemText ( hwnd, item, buffer ) ); } Probably even more sufficient... (Just from the top of my head...) static const int BUFFER = 1024; // Make sure this is long enough! int PrintDlgItem ( HWND hwnd, int item, LPCTSTR format, ... ) { TCHAR buffer [ BUFFER ]; va_list arg; va_start ( arg, format ); _vstprintf ( buffer, format, arg ); va_end ( arg ); return ( SetDlgItemText ( hwnd, item, buffer ) ); } That you can just... PrintDlgItem ( hDlg, IDC_WHATEVER, "%8.2f", immservice ); PrintDlgItem ( hDlg, IDC_ANOTHER , "%.2f", immservice ); Jan
Apr 10 2001
Sorry, if that felt like a nag. You are right, a function will do. I thought of a class with overloaded assignment operators for printing ints and doubles and even user defined types, but overloaded functions can do these as well. Rajiv Jan Knepper <jan smartsoft.cc> wrote in message news:3AD33A0D.3B073D50 smartsoft.cc...FloatText ft(hdlg, ID_TIMEQUEUE); ft = immservice;
Nag! A function will do just fine... static const int BUFFER = 256; BOOL SetDlgItemDouble ( HWND hwnd, int item, LPCTSTR format, double
) { TCHAR buffer [ BUFFER ]; _stprintf ( buffer, format, value ); return ( SetDlgItemText ( hwnd, item, buffer ) ); } Probably even more sufficient... (Just from the top of my head...) static const int BUFFER = 1024; // Make sure this is
enough! int PrintDlgItem ( HWND hwnd, int item, LPCTSTR format, ... ) { TCHAR buffer [ BUFFER ]; va_list arg; va_start ( arg, format ); _vstprintf ( buffer, format, arg ); va_end ( arg ); return ( SetDlgItemText ( hwnd, item, buffer ) ); } That you can just... PrintDlgItem ( hDlg, IDC_WHATEVER, "%8.2f", immservice ); PrintDlgItem ( hDlg, IDC_ANOTHER , "%.2f", immservice ); Jan
Apr 10 2001
Rajiv Bhagwat wrote:I thought of a class with overloaded assignment operators for printing ints and doubles and even user defined types.
Makes sense. I sometimes think that we have to be careful in C++ not to get overly classified. <g> (Isn't it kinda surprizing that functions like these are still not part of the Windows API...) Jan
Apr 11 2001
Jan Knepper <jan smartsoft.cc> wrote in message news:3AD4ADFF.2764579F smartsoft.cc...Rajiv Bhagwat wrote:I thought of a class with overloaded assignment operators for printing ints and doubles and even user defined types.
Makes sense. I sometimes think that we have to be careful in C++ not to get overly classified. <g> (Isn't it kinda surprizing that functions like these are still not part of the Windows API...)
Hmmmmmm,.... but if you use MFC/ATL, it is automatically generated by the ClassWizards.
Apr 11 2001
Kar Gay Lim wrote:(Isn't it kinda surprizing that functions like these are still not part of the Windows API...)
Hmmmmmm,.... but if you use MFC/ATL, it is automatically generated by the ClassWizards.
What do you mean generated??? The usage of :: DataExchange ( CDataExchange * ) and the DDX_* functions? I use MFC a lot actually, but hardly every any of that stuff! Jan
Apr 11 2001
Hey all, Thanks a lot for your help. It really Knepped it! Jan Knepper wrote:Kar Gay Lim wrote:(Isn't it kinda surprizing that functions like these are still not part of the Windows API...)
Hmmmmmm,.... but if you use MFC/ATL, it is automatically generated by the ClassWizards.
What do you mean generated??? The usage of :: DataExchange ( CDataExchange * ) and the DDX_* functions? I use MFC a lot actually, but hardly every any of that stuff! Jan
Apr 13 2001