I once did something similar. It used a function and an array to store abbreviation values. You can expand it as you like, the system will stop using abbreviation when there aren't any to represent the number with less than 3 digits and fallback to something like 324e75. Construct's expression editor can't handle large numbers so I had to get creative, you'll see what I'm talking about.
I also had to squeeze in an ExecJs somewhere so I could check for infinity, C2 simply lack this feature.
https://www.dropbox.com/s/ry1ry2wbxmycd ... .capx?dl=0