This is purely cosmetic of course, but I think someone should relieve game designers, lore makers and art creators from having to think about units and implement a proper string formatter for these to give consistent, readable and also proper results for numbers with units. It has been done recently with the switch to gigameters, megameters and so on, but in other areas (looking at you SCU numbers) they are still pretty much random and often nonsensical: * 47554 microSCU. Takes way too long to parse for my brain, and I don't really care about the precision anyway. Should be 47.554 mSCU (milliSCU) so I can stop reading after 47 or 47.5. * 2.3 cSCU. Why does this one have an odd power of 100 prefix? Breaks my brain. Should be 23 mSCU (milliSCU) so I don't have to do math to compare with other SCU based things. * Megameters are Mm, not mm. Greater than one prefixes are generally uppercase, while smaller than one prefixes lowercase to avoid confusion (M = Mega = 1000x, m = milli = 1/1000x) * Luckily not in the game yet, but some websites and people have used things like 10k microSCU. What is that abomination? Thats just 10 mSCU (milliSCU). In general I think all numbers with units should be formatted by the following algorithm: def formatUnits(number, unit, addSpace, longPrefix): prefix=floor(log(number)/log(1000)) # make sure your floor function returns -1 for -0.5, not 0 scale=1000^prefix number=number/scale # number is now guaranteed to be between 0 and 999.999.... result=format(number, maxDigitsAfterDecimalPoint=3) if (addSpace): result+=" " result += lookupSiPrefix(prefix, longPrefix) # returns "" for 0, "K/kilo" for 1, "M/mega" for 2, "m/milli" for -1, "μ/micro" for -2, and so on result += unit return result This will make any number be formatted into a number with at most three digits before and after the decimal point and the appropriate SI prefix. If you enlighten the string formatting routine in starengine with a new format specifier and this algorithm, then we can all rest easier.