As for the maximum number, I think C2 can really go far, but since it is using floats, the precision might be affected when you go really far into big numbers, I think the maximum UID number is somewhat close to 9 000 000 000 000 000 and I would assume so that the maximum accurate integer value would be around that, but it could be larger (still pretty high anyway)
As for the solution LittleStain suggested, I would recommend doing a function that will format it the way you want, by comparing the number of digits the integer value of the number have.
Edit: also you might want to use the Internation system prefixes if you go really high (k ; M ; G ; T ; P ; E ; Z ; Y)