def make_number_formatter(decimal_places, add_ellipsis=False):
    """
    Given a number of decimal places creates a formatting string that will
    display numbers with that precision.

    :param decimal_places:
        The number of decimal places
    :param add_ellipsis:
        Optionally add an ellipsis symbol at the end of a number
    """
    fraction = u'0' * decimal_places
    ellipsis = u'…' if add_ellipsis else u''
    return u''.join([u'#,##0.', fraction, ellipsis, u';-#,##0.', fraction,
        ellipsis])
