• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 188
  • Last Modified:

control the decimal of an integer no.

i have a variable reciece a number like 11.45 or 11.56,
the problem i wana to know to control the decimal fraction (0.45 or 0.56) to do another operation like if the fraction is >0.5 then 11 will be 11 and if the fraction is <0.5 then 11 remain 11  
1 Solution
Hi Sting79
you can use int but it will not always work so use a wrapper there was a piece on this on one of the VB sites but it seems gone now so here's the main thing about it

the bug decribed by MS

Public Function mInt(ByVal Value As Double) As Integer
  mInt = Int(Value)
End Function

seems like int IS working because i can't reporduce the bug so use int(value) to round up or down
should test it better ROUND will do what you want
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Valliappan ANSenior Tech ConsultantCommented:
Hi Sting79,

As also already suggested by bruintje, If what you want is like:

11.50 -> 12
11.51 -> 12
11.49 -> 11

Then Round(11.xx) should work. If you want 11.50 to be 11 then do this:

Round(11.xx - .01).

Hope this helps.
beware of different rounding algorithms

There are also some ExpertsExchange question threads on this same question.
The link supplied by aikimark states that the round function is not predictable when the rounding digit is 5. To get around this problem you can use the following instead:

y = int(x + 0.5)

This should give you predictable behaviour because int will always round down.

Points to note:

1) int returns a double so conversion might be needed (see
 bruintje's wrapper suggestion)
2) Consider using 'fix' instead of 'int' depending on the behaviour required for negative numbers (see aikimark's link)

Hi Sting79

Try this :

Dim i As Double

   i = 11.55

   If (i - Int(i)) > 0.5 Then
      MsgBox "A"
      MsgBox "B"
   End If


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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

Tackle projects and never again get stuck behind a technical roadblock.
Join Now