Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Calculation errors

Calculation errors

Scheduled Pinned Locked Moved Visual Basic
question
3 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Randy S
    wrote on last edited by
    #1

    Is something wrong or is this OK. If I add two variables with a data type of single and like (845.12 + 312.14) and sent this directly to a text property of a label the display shows 1157.26. But if I store the sum into a variable with a data type of Double then display, it shows 1157.26000976563. Am I not allowed to convert a single to a double?

    D 1 Reply Last reply
    0
    • R Randy S

      Is something wrong or is this OK. If I add two variables with a data type of single and like (845.12 + 312.14) and sent this directly to a text property of a label the display shows 1157.26. But if I store the sum into a variable with a data type of Double then display, it shows 1157.26000976563. Am I not allowed to convert a single to a double?

      D Offline
      D Offline
      Dave Kreskowiak
      wrote on last edited by
      #2

      You are allowed to do this, but because of representation differences, you'll get results like these. The best way to do this is to use consistant data types. If the results of your calculations are requiring doubles, then use doubles for all the operands involved, not singles. This is directly from the VS.NET 2003 documentation: A conversion from a value type stores a copy of the source value in the destination of the conversion. However, this copy is not an exact image of the source value. The destination data type stores values differently, and even the value being represented might change, depending on the kind of conversion being performed. RageInTheMachine9532

      R 1 Reply Last reply
      0
      • D Dave Kreskowiak

        You are allowed to do this, but because of representation differences, you'll get results like these. The best way to do this is to use consistant data types. If the results of your calculations are requiring doubles, then use doubles for all the operands involved, not singles. This is directly from the VS.NET 2003 documentation: A conversion from a value type stores a copy of the source value in the destination of the conversion. However, this copy is not an exact image of the source value. The destination data type stores values differently, and even the value being represented might change, depending on the kind of conversion being performed. RageInTheMachine9532

        R Offline
        R Offline
        Randy S
        wrote on last edited by
        #3

        The problem is that I am pulling data from Microsoft Access. No matter what data type I use in Access I can only place that data in a Single data type within VB. I used a little cheatiing by multiplying the return value by 100 and then transfering to a double and then deviding by 100. This if fine if the data in Access is currency but other data would just have to only be transfered to a VB single data type.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups