Function Int

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 ?
 
J

John Bundy

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
 
B

bcar

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Type of variables and their effect on result... 6
"Out of Memory" error 4
Key Card Software (Auric) 7
vba 1
vba coding 3
Why does timeGetDevCaps fail? 2
FUNCTION SYNTAX 11
dll call in Excel 2007 0

Top