parameters: (value, precision=0, method='common')
return_statement: return func(value * (10 ** precision)) / (10 ** precision)
docstring: Round the number to a given precision. The first
      parameter specifies the precision (default is ``0``), the
      second the rounding method:
  
      - ``'common'`` rounds either up or down
      - ``'ceil'`` always rounds up
      - ``'floor'`` always rounds down
  
      If you don't specify a method ``'common'`` is used.
  
      .. sourcecode:: jinja
  
          {{ 42.55|round }}
              -> 43.0
          {{ 42.55|round(1, 'floor') }}
              -> 42.5
  
      Note that even if rounded to 0 precision, a float is returned.  If
      you need a real integer, pipe it through `int`:
  
      .. sourcecode:: jinja
  
          {{ 42.55|round|int }}
              -> 43
docstring_summary: Round the number to a given precision. The first
      parameter specifies the precision (default is ``0``), the
      second the rounding method:
docstring_tokens: Round the number to a given precision . The first parameter specifies the precision ( default is 0 ) the second the rounding method :
function: def do_round(value, precision=0, method='common'):
      """Round the number to a given precision. The first
      parameter specifies the precision (default is ``0``), the
      second the rounding method:
  
      - ``'common'`` rounds either up or down
      - ``'ceil'`` always rounds up
      - ``'floor'`` always rounds down
  
      If you don't specify a method ``'common'`` is used.
  
      .. sourcecode:: jinja
  
          {{ 42.55|round }}
              -> 43.0
          {{ 42.55|round(1, 'floor') }}
              -> 42.5
  
      Note that even if rounded to 0 precision, a float is returned.  If
      you need a real integer, pipe it through `int`:
  
      .. sourcecode:: jinja
  
          {{ 42.55|round|int }}
              -> 43
      """
      if not method in ('common', 'ceil', 'floor'):
          raise FilterArgumentError('method must be common, ceil or floor')
      if method == 'common':
          return round(value, precision)
      func = getattr(math, method)
      return func(value * (10 ** precision)) / (10 ** precision)
function_tokens: def do_round ( value , precision = 0 , method = 'common' ) : if not method in ( 'common' , 'ceil' , 'floor' ) : raise FilterArgumentError ( 'method must be common, ceil or floor' ) if method == 'common' : return round ( value , precision ) func = getattr ( math , method ) return func ( value * ( 10 ** precision ) ) / ( 10 ** precision )