Round Double Type value to Two decimal place in lotuscript

How do you round 4.68079444599355E-04 to two decimal places.  Lotusscript Rounding returns 0 and Evaluate @Round return OverFlow Error.

Here is my code.

'Initialize Varibles
      Dim ws As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Dim ses As New NotesSession
      Dim db As NotesDatabase
      Dim doc, pdoc As notesDocument
      
      Dim PCDayWk100 As Integer 'User Entry
      Dim NCDayWk100 As Double
      Dim NCDayWk120 As Double
      Dim Yrly100Demand As Double
      Dim SecPerHr As Integer 'Profile Retrieved
      Dim HrsPerShift As Double 'Profile Retrieved
      Dim NoOfShifts As Double 'User Entry
      Dim DayPerYr As Double 'Profile Retrieved
      Dim PCT As Double'User Entry
      Dim NoOfLines As Double 'User Entry
      
      Dim PCYrlyDemand As Double
      Dim dataEntrySum  As Double
      Dim PCYrlyDemandDivDataEntrySum  As Double
      
      'Set Variables
      Set db = ses.CurrentDatabase
      Set pdoc = db.GetProfileDocument("DBProfile")
      Set uidoc = ws.CurrentDocument
      Set doc = uidoc.Document
      
      If Not uidoc.FieldGetText("PCDayWk100") = "" Then
            PCDayWk100= uidoc.FieldGetText("PCDayWk100")
            NoOfShifts= uidoc.FieldGetText("NoOfShifts")
            Yrly100Demand = getYrlyDemandCol(db, doc.WrkCellID(0))
            PCT= uidoc.FieldGetText("PCT")
            HrsPerShift = pdoc.HrPerShift(0)
            DayPerYr = pdoc.DaysPerYear(0)
            SecPerHr = pdoc.SecPerHr(0)
            NoOfLines = doc.NoLines(0)
            'Perform Calculation
            PCYrlyDemand = PCDayWk100 * Yrly100Demand
            dataEntrySum = NoOfLines * SecPerHr * HrsPerShift * NoOfShifts * DayPerYr
            'dataEntrySumDivPCT = dataEntrySum / PCT
            PCYrlyDemandDivDataEntrySum = PCYrlyDemand / dataEntrySum
            NCDayWk100 =PCYrlyDemandDivDataEntrySum  / PCT
            newValue =  Evaluate("@Round(" & NCDayWk100 & ", 2)")
            Call uidoc.FieldSetText("NCDayWk100", Cstr(NCDayWk100))
            'Set Needed Capacity @120%
            NCDayWk120= NCDayWk100   * 1.2
            Call uidoc.FieldSetText("NCDayWk120", Cstr(NCDayWk120))
      End If
Robert TreadwellManaging DirectorAsked:
Who is Participating?
 
Steve KnightIT ConsultancyCommented:
Hmm re-reading are you just saying you want it to say 4.68E-04 then?

Format(NCDayWk100,"Scientific")
or
Format(NCDayWk100,"0.00E-00")

Steve
0
 
Steve KnightIT ConsultancyCommented:
Aside from any other functions in general to round to two decimal places you can just multiply by 100, take Integer of it and divide by 100.

BUT 4.68079444599355E-04 = 0.000468079444599355

So rounded to two spaces it IS "0"

Steve
0
 
Sjef BosmanGroupware ConsultantCommented:
You have good eyes, Sir! :-)

As far as the Overflow Error is concerned:
      newValue =  Evaluate("@Round(" & NCDayWk100 & ", 2)")
contains a formula error. Try to find the four-pixel difference with this line:
      newValue =  Evaluate("@Round(" & NCDayWk100 & "; 2)")

Points to Dragon-IT!
0
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.

 
Steve KnightIT ConsultancyCommented:
Yes good point there Sjef, I didn't actually look at the evaluated command since I knew it was going to be 0 (or error in this case).

Steve
0
 
Steve KnightIT ConsultancyCommented:
rtreadwell - are you there?
0
 
Steve KnightIT ConsultancyCommented:
Well thankyou for the points and grade.... tipped me over into being a "Guru" apparently ... another 10 years and could make a wizard if Notes is still around...

Lotus Notes points: 151546
148454 more points to become a Wizard in Lotus Notes!

Steve
0
 
Sjef BosmanGroupware ConsultantCommented:
Congrats! And a little focus might get you there sooner... :-)
0
 
Steve KnightIT ConsultancyCommented:
Yeah, inbetween running a business, fixing everyone else's problems and looking after the kids you mean :-)
0
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.

All Courses

From novice to tech pro — start learning today.