Jump to content

Getting all decimal places


Recommended Posts

Hi.

I have yet again come across something where I need a little help.

I have a decimal number which I would like to display in my GUI.

It is the result of a calculation like this:

$variable = 3363 * 0.00000000

The actual number (3363) is a variable, but always positive.

Now, when I try to set $variable as the data in a Label it comes up like: 3363e-005

Which is 3.363*10^5

It is the same number only as a math expression and not a decimal number.

I have tried a lot of things like using Round(), Number() and even String(), but it doesn't seem to help.

I tried looking at StringFormat:
http://www.autoitscript.com/autoit3/docs/functions/StringFormat.htm

But I can't seem to make heads or tail from it.

Any help would be highly appreciated!
 

Link to comment
Share on other sites

  • Moderators

Anne,

Use StringFormat to force the value into enough decimal places like this:

#include <GUIConstantsEx.au3>

$hGUI = GUICreate("Test", 500, 500)

$cLabel_N = GUICtrlCreateLabel("", 10, 10, 300, 20)
$cLabel_S = GUICtrlCreateLabel("", 10, 50, 300, 20)

GUISetState()

; Create numerical value
$nVar = 3363 * 0.000000001 ; This will display as scientific notation

; Convert to a string with 20 decimal places - result will be padded with 0s
$sVar = StringFormat("%.20f", $nVar)
; So we need to eemove unnecessary 0s
While 1
    If StringRight($sVar, 1) = "0" Then
        $sVar = StringTrimRight($sVar, 1)
    Else
        ExitLoop
    EndIf
WEnd

; Display results
GUICtrlSetData($cLabel_N, $nVar)
GUICtrlSetData($cLabel_S, $sVar)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
All clear? :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...