This templates rounds parameter 1 to the number of digits after the point optionally given as parameter 2. If parameter 2 is negative, rounding is to a multiple of 10. If parameter 2 is undefined, numbers with 4 digits before the point are rounded to integers, numbers with 3 digits before the point are rounded to 1 digit after the point, numbers with 2 digits before the point are rounded to 2 digits after the point, and numbers with 1 digit before the point or none are rounded to 3 digits after the point.

In other words, if parameter 2 is undefined, rounding is to 4 significant digits, except that it is not cruder than rounding to an integer and not finer than rounding to three digits after the decimal point.

Examples:

  • "{{round|123.456|4}}" gives "123.4560" [1]
  • "{{round|123.456|3}}" gives "123.456" [2]
  • "{{round|123.456|2}}" gives "123.46" [3]
  • "{{round|123.456|1}}" gives "123.5" [4]
  • "{{round|123.456|0}}" gives "123" [5]
  • "{{round|123.456|-1}}" gives "120" [6]
  • "{{round|123.456|-2}}" gives "100" [7]
  • "{{round|123.456|-3}}" gives "0" [8]
  • "{{round|123456.789}}" → "123,457" [9]
  • "{{round|12345.6789}}" → "12,346" [10]
  • "{{round|1234.56789}}" → "1,235" [11]
  • "{{round|123.456789}}" → "123" [12]
  • "{{round|12.3456789}}" → "12" [13]
  • "{{round|1.23456789}}" → "1" [14]
  • "{{round|.123456789}}" → "0" [15]
  • "{{round|.0123456789}}" → "0" [16]
  • "{{round|.00123456789}}" → "0" [17]

Note that trailing zeros are not shown, so rounding can seem cruder than has actually been applied:

  • "{{round|123.04}}" → "123" [18]
  • "{{round|12.304}}" → "12" [19]
  • "{{round|1.2304}}" → "1" [20]

While this is a limitation of the template (normally there would be trailing zeros to show the precision), there is also the general problem that if a number is an integer with trailing zeros, then the precision is not clear:

  • "{{round|1230.4}}" → "1,230" [21]