More actions
Created page with "{{documentation subpage}} {{Module rating|protected}} {{Lua sidebar}} 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'. * 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>..." |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{documentation subpage}} | {{documentation subpage}} | ||
{{Lua sidebar}} | {{Lua sidebar}} | ||
Line 21: | Line 20: | ||
* The template supports <code>subst:</code> and <code>safesubst:</code>. | * The template supports <code>subst:</code> and <code>safesubst:</code>. | ||
<includeonly> | |||
[[Category:Modules]] | |||
</includeonly> | |||
<noinclude> | <noinclude> | ||
[[ | [[Category:Module documents]] | ||
</noinclude> | </noinclude> |
Latest revision as of 01:22, 10 March 2025
This is a documentation subpage for Module:Roman. It may contain usage information, categories and other content that is not part of the original module page. |
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 122.
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:
.