I am a bit surprised by how smalltalk behaves the way it does for the Floating point numbers for the follwoing scenearios...

#1 When I inspect 644444.4444444449 the Float Inspector window shows me value as 644444.444444445.

Is this correct ?

However when I inspect 64444.4444444449 the Float Inspector window shows me value as 64444.4444444449

#2 When I inspect 644444444444444.9 the Float Inspector window shows me value as 644444444444445.0

Is this correct ?

However when I inspect 64444444444444.9 the Float Inspector window shows me value as 64444444444444.9

I tried various code snippents and found that if floating point number has total number of digits(count the digits on the left and right side of the decimal point) greater than 15, samlltalk starts rounding the digits

Can someone from Instantiations look at this ? and explain the reason behind such a behavior.

I am runnning the code on Visula Age Smalltalk ver 7.5

Thanks in advance!