Velocity Reviews > Negative Numbers?

# Negative Numbers?

Charles A. Lackman
Guest
Posts: n/a

 09-27-2004
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

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

Thanks,
Chuck

Jonathan Allen
Guest
Posts: n/a

 09-27-2004
Don't save the number in the text box, save it in a variable. Just use the
textbox for displaying the results.

--
Jonathan Allen

"Charles A. Lackman" <(E-Mail Removed)> wrote in message
news:e%(E-Mail Removed)...
> 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
>
> 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
>
> Thanks,
> Chuck
>
>

Ben Lucas
Guest
Posts: n/a

 09-27-2004
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.

--
Ben Lucas
Solien Technology, Inc.
www.solien.com

"Charles A. Lackman" <(E-Mail Removed)> wrote in message
news:e%(E-Mail Removed)...
> 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
>
> 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
>
> Thanks,
> Chuck
>
>

Bernie Yaeger
Guest
Posts: n/a

 09-27-2004
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 A. Lackman" <(E-Mail Removed)> wrote in message
news:e%(E-Mail Removed)...
> 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
>
> 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
>
> Thanks,
> Chuck
>
>

Jay B. Harlow [MVP - Outlook]
Guest
Posts: n/a

 09-28-2004
Charles,

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

"Charles A. Lackman" <(E-Mail Removed)> wrote in message
news:e%(E-Mail Removed)...
> 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
>
> TextBox5.text = Convert.ToDouble(TextBox3.text) +
> Convert.ToDouble(Textbox4.text)
>
> Is there a work-around for this? I must have negative numbers that can
>
> Thanks,
> Chuck
>