Changes

Jump to: navigation, search

Module:Roman/doc

1,454 bytes added, 22:03, 20 February 2018
Withdrawing sandbox code and edit request—duplicate of Module:ConvertNumeric's roman_to_numeral
{{high-use|3700+}}
{{module rating|protected}}

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> 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. {{green|Uses <code>#expr:</code> 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: and safesubst:.
Anonymous user

Navigation menu