NumFmt formats a number with a given precision using the requested decimal, grouping, and negative characters. Fixes #1444