While Reals are known to be unprecise, they are 100% accurate even for very large numbers, as long as they do not use a decimal point (=integers).
Numbers up to 53 bit, or more exactly, [-(2^53)+1, (2^53)-1], that is a range from −9,007,199,254,740,992 to 9,007,199,254,740,992, will be exactly represented.
More about Reals
If you look at the definition of Double-precision binary floating-point on Wikipedia, this is what you’ll find about the splitting and precision of the digits:
Convert to string
While it was possible to do calculations on large numbers with the Real type for many years, converting to or from the text was limited to using 12-digit scientific notation, resulting in losing precision.
With 4D v19 R6, we have improved the accuracy and the conversion of a Real number (presenting an integer) into a Text.
The improvement of the conversion to string concerns the String() command and the JSON and XML commands returning numbers in string form.
For example, you can now type in the code editor:
and it will stay as-is instead of being formatted as: