ढाँचा:Number table sorting

स्वतन्त्र विश्वकोश, नेपाली विकिपिडियाबाट
Jump to navigation Jump to search
Template documentation[view] [edit] [history] [purge]

This template is used to display numbers with thousands separator in a sortable table and have them numerically sorted in alphabetic sort mode. It is applied to all numbers of a column, in cases where numeric sort mode does not work or is not desired.

The supplied input numbers should not have thousands separators. Apart from the added thousands separators the numbers are formatted like supplied (scientific notation or not, leading and trailing zeros, and a zero before the decimal point or not). This formatting does not affect the sorting order except for numbers not satisfying the limitations mentioned below.

Purpose[सम्पादन गर्ने]

If some table cells in a column contain text after the number, or if the numbers are preceded by some fixed text other than a currency symbol, alphabetic sorting mode is needed.

Also, formerly, for table sorting to function correctly, numbers had to be entered with not more than one thousands separator. As a workaround alphabetic sorting mode was applied, and the numbers provided with a hidden part so that alphabetic sorting corresponded with numeric sorting. Since a mix in one column of numbers formatted for alphabetic sorting and plain numbers does not allow proper sorting, adding a number in an existing table may require putting it in the format used in that column.

Method[सम्पादन गर्ने]

This template automatically creates hidden code like <span style="display:none">&0000000123456789.001230</span> before the actual displayed number. The preceding ampersand forces the sorting routine to use text sort. The routine sorts the total text without the tags, which corresponds to numeric sorting due to the leading zeros.

Limitations[सम्पादन गर्ने]

  • Negative numbers do not sort correctly with this template: while they correctly come at the low end, mutually they are sorted in reverse order (i.e., in the order of the absolute value).
  • The maximum number is 1×10१६. While larger numbers correctly come at the high end, they are mutually sorted alphabetically.
  • There is a maximum of 6 digits after the decimal separator. When using a consistent non-scientific notation numbers with more than 6 digits after the decimal separator still sort correctly. They sort correctly with respect to 0 if they are written with the zero before the decimal point.
  • In the case of text before a number, the entry is positioned like 1×10१६. If there are more of such entries they are mutually sorted alphabetically (primarily based on the text).

Parameters[सम्पादन गर्ने]

The template has only one required parameter: a real number without thousand separators.

Optional parameters
  • debug - To show the sort key, use |debug=yes.
    "{{nts|123456789.00123|debug=yes}}" gives "&0000000123456789001230१२३,४५६,७८९.००१२३" [१]
  • prefix - To add a prefix to the displayed number, use |prefix=some prefix
    "{{nts|123456789.00123|prefix=approx. }}" gives "&0000000123456789001230approx. १२३,४५६,७८९.००१२३" [२]

Example[सम्पादन गर्ने]


expands to

 <span style="display:none">&0000000123456789.001230</span> 123,456,789.00123 

which is rendered as &0000000123456789001230१२३,४५६,७८९.००१२३

More examples[सम्पादन गर्ने]

Below are more examples, also illustrating the limitations mentioned above.

Note: Javascript sorting order: &+,-.0123456789Ee~

sortkey and number
&अभिव्यक्ति त्रुटि: अज्ञात शब्द "between"।between २ and ३
&अभिव्यक्ति त्रुटि: अज्ञात शब्द "approx"।approx. १०

See also[सम्पादन गर्ने]

  • {{Ntsh}} - same as Nts, but does not display the number
  • {{Ntsc}} - for converted units, sorts by the first number
  • {{Ntss}} - same as Nts, but allows for the number to be scaled
  • {{Dts}} - for sorting dates
  • {{Sms}} - Probably a duplicate of {{Ntsh}}