Negative Numbers?

  • Thread starter Thread starter Charles A. Lackman
  • Start date Start date
C

Charles A. Lackman

Hello,

I have some textboxes that are doing addition:

Dim AString As Double
AString = Convert.ToDouble(TextBox1.Text) - Convert.To(DoubleTextBox2.Text)
TextBox3.Text = AString.ToString("#,##0.00;(#,##0.00);0.00")

When the result is negative it is displayed as "(46)" or whatever the value
is.
This makes it impossible to test for a negative number to make further
additions:

TextBox5.text = Convert.ToDouble(TextBox3.text) +
Convert.ToDouble(Textbox4.text)

Is there a work-around for this? I must have negative numbers that can be
added together.

Thanks,
Chuck
 
Don't save the number in the text box, save it in a variable. Just use the
textbox for displaying the results.
 
It is displayed as "(46)" beacuse that is what your format specifier
("#,##0.00;(#,##0.00);0.00") is asking it to do for negative numbers.

Since the Convert.ToDouble function does not recognize this format, you
could check for the format you're looking for and change it appropriately:

For example:

string sText = TextBox3.Text
if (sText.StartsWith("("))
sText = "-" + sText.Remove("(").Remove(")")
end if

TextBox5.text = Convert.ToDouble(sText) + Convert.ToDouble(Textbox4.text)

Or, probably the better way to do this is to just use the result in AString
which is already a double and stores the value that you're looking for
anyways.
 
Hi Charles,

First of all, you're not doing addition; you're doing subtraction. Then,
when you fill textbox5, you'r trying to convert a string to a double. Try
debugging, set a few breakpoints, and follow the values.

HTH,

Bernie Yaeger
 
Charles,
In addition to the other comments.

Use the Double.Parse overload (instead of Convert.ToDouble) that allows you
to specify the number style to use when converting, something like:
AString = Double.Parse(TextBox1.Text, NumberStyles.Currency) -
Double.Parse(DoubleTextBox2.Text, NumberStyles.Currency)

Read the help on NumberStyles enum to see what the various options allowed
are.

Hope this helps
Jay
 
Back
Top