Template:Order of magnitude

From Wikibooks, open books for an open world
Jump to: navigation, search
Template documentation[edit] [history] [purge]

Usage

This template calculates the (decimal) order of magnitude of numbers within the ranges 10300 to 10−300 and −10−300 to −10300.

The acceptable input and the output produced are optimized for use in other templates.

  • The hyphen (not a true minus sign) is used for negative numbers.
  • No separator is used for thousands.
  • The template gives 0 for 0. Although, strictly speaking, this is mathematically incorrect it has been designed this way so as to be more useful in other templates. An important example of this is that when used by {{convert}} 0 °C or 0 °F is considered to be on the same order of magnitude as ±1 °C or ±1 °F respectively.

Examples

  • {{Order of magnitude|123400}} → 5
  • {{Order of magnitude|12340}} → 4
  • {{Order of magnitude|1234}} → 3
  • {{Order of magnitude|123.4}} → 2
  • {{Order of magnitude|12.34}} → 1
  • {{Order of magnitude|1.234}} → 0
  • {{Order of magnitude|.1234}} → -1
  • {{Order of magnitude|.01234}} → -2
  • {{Order of magnitude|0}} → 0
  • {{Order of magnitude}} → 0

Incorrect usage

The input must be an unformatted number, or the template will emit errors:

  • {{Order of magnitude|}}Expression error: Unexpected = operator
  • {{Order of magnitude|123,400}}Expression error: Unrecognised punctuation character ","
  • {{Order of magnitude|foo}}Expression error: Unrecognised word "foo"