Mathmatical Functions: Decimals

Question:
How can I read only from one side of the decimal in VB6? I need to get .4286 from a value of 22.4286. I also need to know how to get the integer value of 108.75 to read 108 and not round up to 109. Please help, I am lost.

Answer:
There are two functions in VB to return the integer value of the number. These are Int and Fix. The difference between the two is that if the number you are using is negative, Int returns the first Integer value that is less than, or equal to, your number. Fix on the other hand returns the first negative integer greater than, or equal to, the number.

Both Int and Fix return the same values for positive numbers, the first integer value less than, or equal to, the number you pass.

There is no intrinsic function within VB to return the decimal portion of a number. The best you can do is create a function to do this for you. The easiest would just be to look for a decimal point and return anything after it like the following:

Private Function Dec(Number As Double) As Double  Dim pos As Long  pos = InStr(1, Number, ".")  If pos > 0 Then    Dec = Val(Mid(Number, pos))  Else    Dec = 0.0  End IfEnd Function
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: