2.2 released, you can get it here: FormatNumber.rbxm (8.9 KiB)
Added feautres:
 More compact rounding options, the default is the same as before
 Scientific notation.
 useGrouping boolean implicit conversion, true = “always” / “min2” for compact notation, false = “never”.
Update 2.3 planned features
The features I’m plannning to add in the next update.
Different numbering systems support
From 𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 to 一二三四五六七八九 to ١٢٣٬٤٥٦٬٧٨٩. Here are the list that are planned to be supported:
Code 
Numbering system 
latn 
Western Digits (default) 
arab 
ArabicIndic Digits 
beng 
Bangla Digits 
tibt 
Tibetan Digits 
arabext 
Extended ArabicIndic Digits 
deva 
Devanagari Digits 
mymr 
Myanmar Digits 
olck 
Ol Chiki Digits 
hanidec 
Chinese Decimal Numerals 
thai 
Thai Digits 
tamldec 
Tamil Digits 
Format to parts
A part formatting in “ECMA 402 style”, similar to Intl.NumberFormat.formatToParts (ECMA 402) and International.NumberFormat:FormatToParts (International).
to
{
{ type = "currency", value = "¤" },
{ type = "literal", value = " " },
{ type = "integer", value = "12" },
{ type = "group", value = "," },
{ type = "integer", value = "345" },
{ type = "decimal", value = "." },
{ type = "fraction", value = "68" },
{ type = "literal", value = " " },
{ type = "compact", value = "T" }
}
Better range formatting API
Range formatting option based on Unicode ICU, will be experemental, options:
rangeIdentityFallback
The behaviour when two numbers are similar after it had been rounded:

"singleValue"
show it as a single value rather than the range (default)

"approximately"
show the value using approximation symbol

"approximatelyOrSingleValue"
show the value using approximation symbol expect if the numbers are the same before it was rounded, which shows it as a single value instead.

"range"
show the number in range
rangeCollapse
Collapse the range by notation level, can either be true
or false
(or nil
), defaults to false
print(FormatNumber.FormatCompactRange(1000, 2000, { rangeCollapse = true })) > 1–2k
print(FormatNumber.FormatScientificRange(1000, 2000, { rangeCollapse = true })) > 1–2E3
Note
Format range functions will also return 2 values, the first is the formatted and the second returns either of these three value:

"notEqual"
two numbers in the range doesn’t equal to each other

"equalAfterRounding"
two numbers in the range equals to each other after it was rounded

"equalBeforeRounding"
two numbers in the range equals to each other even before it was rounded