الگو:Calculate increment

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
نماد توضیحات توضیحات الگو[نمایش] [ویرایش] [تاریخچه] [پاکسازی]

Usage[ویرایش]

This template takes two numbers and calculates a suitable increment for {{scalemarkers}} based on the difference between these numbers. Increments are 1, 2 or 5 times an appropriate power of 10.

These numbers, the from value and the to value, are input as unnamed parameters.

{{calculate increment|p1|p2}}

The absolute value, d, of the difference between these is calculated.

d = | p1p2 |

This can be expressed in scientific notation as follows.

d = a × 10n

Where 1 ≤ a < 10 and n is an integer.

The output of the template is as follows.

For 1 ≤ a < 1.35 the output is the number 1 × 10n − 1
For 1.35 ≤ a < 3.45 the output is the number 2 × 10n − 1
For 3.45 ≤ a < 6.95 the output is the number 5 × 10n − 1
For 6.95 ≤ a < 10 the output is the number 1 × 10n
Note
  • The values are returned as ordinary numbers (for use in other templates) not in scientific notation (e.g. 5000 not 5 × 103).
  • The template code actually uses 1.4, 3.5 and 7 as cut offs but these are reduced by 0.05 due to rounding.
Examples
  • {{ calculate increment|1|5}} نتیجه می‌دهد "5"
  • {{ calculate increment|10|23}} نتیجه می‌دهد "1"
  • {{ calculate increment|10|23.5}} نتیجه می‌دهد "2"
  • {{ calculate increment|100|300}} نتیجه می‌دهد "20"
  • {{ calculate increment|1010|1030}} نتیجه می‌دهد "2"
  • {{ calculate increment|3550|7450}} نتیجه می‌دهد "500"
  • {{ calculate increment|101000|889330}} نتیجه می‌دهد "100000"
Technical details

The main template page calculates d, the absolute value of the difference between the two inputs. Using {{order of magnitude}} the order of magnitude, n, of d is calculated. d and 10n − 1 are sent as parameters 1 and 2 respectively to a subpage, {{calculate increment/calc}}. This subtemplate uses a #switch to determine the correct factor, 1, 2, 5 or 10, then multiplies by 10n − 1.