Possible Duplicate:
How to handle when the backspace button is pressed and the input panel has digit grouped numbers. E.g. 434,343,334.232.
Basically the question says it all, I’m making a calculator in c# and I’m stuck on this problem. When digit grouping is hit the numbers get separated by commas, when the user hits the backspace button, the commas act like characters that get deleted.
inputPanelTextBox.Text = inputPanelTextBox.Text.Replace(“,”, “”) I put this piece of code under my backspace click event. The problem is that say the panel has 234,232 and the user presses the backspace button, the comma is gone as well as the 2 on the far right.
What I want to happen is the same way the windows 7 calculator does when the digit grouped menu is checked and the user hits the backspace.
Any idea of how to go about this? Thank you so much in advance.
How about you store the number just as a number then format the number to look nice when you output it. The same thing will work with
string.Format(). You could reformat the number into the display string every time the user hits backspace or adds a new digit. There are lots of the string format modifiers listed here.If I were making this calculator, I would save the number in a
double, then when the number needs to be displayed I would run it through a function like this and display the string to the user: