Solved

Double to String, need precision

Posted on 2002-04-06
5
286 Views
Last Modified: 2010-05-02
Hi!
when I cast a Double to String, it keeps only the first 15 significative numbers.. is there a way to increase this limit?

thanks a lot
0
Comment
Question by:benhere
  • 2
  • 2
5 Comments
 
LVL 6

Expert Comment

by:sharmon
ID: 6923551
I believe VB follows the IEEE 754 specification strictly which is what is causing VB to only allow 15 digits of precision.  I have ran into this problem before but was unable to find a solution around it.

Regards,
Shannon
0
 
LVL 15

Accepted Solution

by:
ameba earned 200 total points
ID: 6923591
Instead of Double use some data type with better precision, e.g. Currency or Decimal:

Private Sub Form_Click()
    Dim x As Variant
    x = CDec(0) ' convert to Decimal
   
    x = CDec(1000000) / 333
    Print x

    Print CDbl(1000000) / 333
End Sub
0
 
LVL 2

Author Comment

by:benhere
ID: 6923952
ok, so lets say I want to write a function that converts a double to string

Public Function DoubleToString(pValue As Double) As String

???

End Function


Would this be possible to implement using CDec()? Or is it actually the Double that is limitted to 15 digits?
Because I tought the Double had a bid precision and that it was the convertion to String that was trimming numbers, is that true?

thanks
0
 
LVL 15

Expert Comment

by:ameba
ID: 6924002
The Double is limitted (to 64 bits); such function cannot give you more precission.
0
 
LVL 2

Author Comment

by:benhere
ID: 6924314
oh, ok then
thanks a lot
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

856 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