ListBox Control's Intrinsic Conversion from Double to Object Problem

Posted on 2008-10-02
Medium Priority
Last Modified: 2013-12-17
Ok crowd, here is the issue. Idle_Mind and I have been dealing with another authors problem, and we have come across an interesting issue with the ListBox control. If you use the Add() method of the list box control on a Double, the lisbox's conversion from Double to Object widens the Double as expected, but unexpectedly returns junk data. To see this for yourself, add a listbox to a forn and try:

 For LoopCount As Double = 1 To 2 Step 0.1

NOTE: I'm not looking for a workaround, there are any number of ways around it. This is just an academic discussion about the object itself and what the problem is or may be. If you think you know, there are points in it for you.
Question by:ladarling
  • 3
LVL 64

Assisted Solution

by:Fernando Soto
Fernando Soto earned 400 total points
ID: 22624856
Hi ladarling;

Not sure what issue you are having. I entered the code from your post and the results are shown below. When I selected an item I displayed its value as also shown below. Here is the code I used.

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        For LoopCount As Double = 1 To 2 Step 0.1

    End Sub

    Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged


    End Sub


LVL 11

Accepted Solution

ladarling earned 0 total points
ID: 22625275
Not sure what issue you are having...
Notice anything different about those two results? We are trying to figure out the cause.
LVL 86

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 400 total points
ID: 22626320

To state the problem differently, why does the Listbox display the values differently using these two snippets?...
...since the ListBox calls ToString() on each Object in its Item collection, I would expect the two to produce the same result:

Snippet A:

    For LoopCount As Double = 1 To 2 Step 0.1
        ListBox1.Items.Add(LoopCount) ' produces looooong precise values (x.000000000y) in ListBox

Snippet B:

    For LoopCount As Double = 1 To 2 Step 0.1
        ListBox1.Items.Add(LoopCount.ToString) ' produces short (x.y) values in ListBox

LVL 11

Author Comment

ID: 22626943
It seems that every floating point type *except* decimal behaves this way, even 'Object' when inferred to be floating point (which is probably inferred to be a 'Single' in this context, though I am not sure). Very very odd.
For those wondering why I am bothering with this, take a read to what Idle showed me yesterday:
The screenshot below shows the different types I played with....

LVL 11

Author Comment

ID: 22627009
What I meant to say:
 (which is probably inferred to be a 'Double' in this context, though I am not sure)
It is apparently treated as a double judging from the output, but I am willing to believe anything at this point :-)

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This article describes and provides a custom-made tool I wrote to give businesses a means of identifying commercial music content, without having to expend too much effort. Business recordings are easily identified from possibly illegal music files …
Through the video, you can check the migration process of Outlook PST file to PDF. Kernel for Outlook to PDF tool can convert Outlook emails with all attributes like Subject, To, From, Cc, Bcc and other folders such as Inbox, Outbox, Sent Items, Jun…
Watch the video to know the simple way to remove or recover or reset lost or forgotten passwords of Outlook PST file. With Kernel Outlook Password Recovery tool such operation is very easy to perform. It is a freeware with limitation to use with 500…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question