docs: def nice_number(number, thousands_separator=',', max_ndigits_after_dot=None):
      """Return nicely printed number NUMBER in language LN.
  
      Return nicely printed number NUMBER in language LN using
      given THOUSANDS_SEPARATOR character.
      If max_ndigits_after_dot is specified and the number is float, the
      number is rounded by taking in consideration up to max_ndigits_after_dot
      digit after the dot.
  
      This version does not pay attention to locale.  See
      tmpl_nice_number_via_locale().
      """
      if isinstance(number, float):
          if max_ndigits_after_dot is not None:
              number = round(number, max_ndigits_after_dot)
          int_part, frac_part = str(number).split('.')
          return '%s.%s' % (nice_number(int(int_part), thousands_separator),
                            frac_part)
      else:
          chars_in = list(str(number))
          number = len(chars_in)
          chars_out = []
          for i in range(0, number):
              if i % 3 == 0 and i != 0:
                  chars_out.append(thousands_separator)
              chars_out.append(chars_in[number - i - 1])
          chars_out.reverse()
          return ''.join(chars_out)