Function Int

  • Thread starter Thread starter bcar
  • Start date Start date
B

bcar

Hi all,

I'm surprise by this result on excel( 2000, 2002, XP ) (win200, XP)

sub test()
Dim x as Long

x = Int(37.7266 * 10000)
' x = 377265
' I hope x = 377266

' but for :
x = int(37.7263 * 10000)
' I have x = 377263
end sub

In fact 37.7263 give expected result, 37.7264, no, 37.7265,
ok and so on...
Does somebody have an explanation ?
 
Take out the Int stuff and it should be fine:

Sub test()
Dim x As Long

x = 37.7266 * 10000
' x = 377265
' I hope x = 377266

' but for :
x = 37.7263 * 10000
' I have x = 377263
 
John Bundy a écrit :
Take out the Int stuff and it should be fine:

Sub test()
Dim x As Long

x = 37.7266 * 10000
' x = 377265
' I hope x = 377266

' but for :
x = 37.7263 * 10000
' I have x = 377263

no because it's an expression and it's possible to have more than 4
decimals numbers.
the complete expression is :
x = y * 10000 - Int(y * 10000)
I know it's posssible to do x = y - round(y, 4) or to do :
tmp = y * 10000
x = tmp - Int(tmp)
The 2 solution work fine, but I don't want a solution, I'm surprised by
the result and I search an explanation

Thanks
 
Back
Top