Click to See Complete Forum and Search --> : ??? Displaying dollar amount in edit box?
John Kelley
April 24th, 1999, 01:11 PM
Okay, I'm feeling pretty stupid because I can't seem to display a float variable as a dollar amount in a dialog's edit box. (10.00 reads as 10) I thought this would be a simple procedure, but I can't find any Visual C++ support for this, at least I haven't had luck with the online materials or books I've checked. I would appreciate any suggestions.
"Try not. Do, or do not. There is no try." - Yoda
aamirdogar
July 31st, 1999, 02:03 AM
If you are using the string then try to concatenate it and then display other wise in double this seems difficult.
Erich Ruth
July 31st, 1999, 01:40 PM
I have been down this road!
There are a handful of classes on this site for formating numerical values as a dollar, that is, including the $ and making sure that their are 2 and only 2 decimal places. I have found that this classes suck. Each has it's own unique flaw.
The easiest way to format a number as a dollar amount is to use
GetDlgItemText(IDC_EDIT, m_edit);
then do something like
double value = atof(m_edit);
char buf[256];
sprintf(buf, "%.2f", value);
SetDlgItemText(IDC_EDIT, buf);
Typing %.2f forces it to be 2 decimal places. You could include the $ symbol but it tends to clutter the output - I like to just see numbers. You would want to put these commands in the OnChange or OnUpdate() functions.
Please email me if you have any problems with this code.
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.