Module:Roman/doc: Difference between revisions
Appearance
Content deleted Content added
GKNishimoto (talk | contribs) |
GKNishimoto (talk | contribs) No edit summary |
||
Line 3: | Line 3: | ||
{{Lua sidebar}} |
{{Lua sidebar}} |
||
This module implements the {{ |
This module implements the {{Tl|Roman}} template. For behavioral documentation, please see the template page. For test cases, please see [[Template:Roman/testcases]]. |
||
* Module supports 0 as a Roman numeral, displays as 'N'. |
* Module supports 0 as a Roman numeral, displays as 'N'. |
||
* Prior to 25 April 2016, used to display 69105 as <span style="text-decoration:overline;">LXV</span>MMMMCV. With the addition of <span style="text-decoration:overline;">IX</span> and <span style="text-decoration:overline;">IV</span> being 9000 and 4000 respectively, we now display 69105 as <span style="text-decoration:overline;">LXIX</span>CV. |
* Prior to 25 April 2016, used to display 69105 as <span style="text-decoration:overline;">LXV</span>MMMMCV. With the addition of <span style="text-decoration:overline;">IX</span> and <span style="text-decoration:overline;">IV</span> being 9000 and 4000 respectively, we now display 69105 as <span style="text-decoration:overline;">LXIX</span>CV. |
||
* Module handles decimal, fractional, and arithmetic expressions to a precision of 1/1728. {{ |
* Module handles decimal, fractional, and arithmetic expressions to a precision of 1/1728. {{Green|Uses <code>#expr:</code> at line 118.}} |
||
==Handling tricky cases (like 0.00001 and 99.99999)== |
== Handling tricky cases (like 0.00001 and 99.99999) == |
||
# Find the Roman numerals for the integer part of the number. |
# Find the Roman numerals for the integer part of the number. |
||
# If the number is not an integer: |
# If the number is not an integer: |
||
Line 16: | Line 16: | ||
# Hence, 0.00001 is guaranteed to have at least the smallest unit symbol (instead of being blank or 0), and 99.99999 does not display as 100 or 99 and 2 halves. |
# Hence, 0.00001 is guaranteed to have at least the smallest unit symbol (instead of being blank or 0), and 99.99999 does not display as 100 or 99 and 2 halves. |
||
==Validation== |
== Validation == |
||
*[[Template:Roman/testcases]] |
* [[Template:Roman/testcases]] |
||
*[[Module:Roman/testcases]] - does not contain fractional/decimal tests |
* [[Module:Roman/testcases]] - does not contain fractional/decimal tests |
||
*The template supports <code>subst:</code> and <code>safesubst:</code>. |
* The template supports <code>subst:</code> and <code>safesubst:</code>. |
||
<noinclude> |
|||
[[pt:Módulo:Roman/doc]] |
|||
</noinclude> |
Revision as of 15:18, 13 June 2023
![]() | This Lua module is used on 5,900+ pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Related pages |
---|
This module implements the {{Roman}} template. For behavioral documentation, please see the template page. For test cases, please see Template:Roman/testcases.
- Module supports 0 as a Roman numeral, displays as 'N'.
- Prior to 25 April 2016, used to display 69105 as LXVMMMMCV. With the addition of IX and IV being 9000 and 4000 respectively, we now display 69105 as LXIXCV.
- Module handles decimal, fractional, and arithmetic expressions to a precision of 1/1728. Uses
#expr:
at line 118.
Handling tricky cases (like 0.00001 and 99.99999)
- Find the Roman numerals for the integer part of the number.
- If the number is not an integer:
- Add half of the smallest unit (1/1728) to simulate rounding instead of truncation.
- Ensure this new result is between 1/1728 and 1727/1728. (actually 1.1/1728 and 1727.1/1728 due to floating point rounding issues)
- Hence, 0.00001 is guaranteed to have at least the smallest unit symbol (instead of being blank or 0), and 99.99999 does not display as 100 or 99 and 2 halves.
Validation
- Template:Roman/testcases
- Module:Roman/testcases - does not contain fractional/decimal tests
- The template supports
subst:
andsafesubst:
.