I recently ran across this, I created a work around but am wondering if someone can provide an explanation.
All 10 character strings:

Code:
Command: (type(read "2146000000"))
INT

Command: (type(read "2147000000"))
INT

Command: (type(read "2148000000"))
REAL

The code I was working on was expecting an INT value but failed when we added 10 digit values to some of our data.

Thanks.