TJSON uses string_format(number, 0, 15) and then trims trailing zeroes to maintain original precision in case it matters.
Default string() function will round the number to two-digit precision.
Default number comparison operators use threshold as per math_set_epsilon.
In other words, the numbers are often stored with strange fractions, but the fact can be slightly obscured.