[ Tcllib Home | Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

# math::roman() 1.0 tcllib "Tcl Math Library"

## Name

math::roman - Tools for creating and manipulating roman numerals

## Synopsis

- package require Tcl 8.3
- package require math::roman ?1.0?

- ::math::roman::toroman i
- ::math::roman::tointeger r
- ::math::roman::sort list
- ::math::roman::expr args

## Description

::math::roman is a pure-Tcl library for converting between integers and roman numerals. It also provides utility functions for sorting and performing arithmetic on roman numerals.

This code was originally harvested from the Tcler's wiki at http://wiki.tcl.tk/1823 and as such is free for any use for any purpose. Many thanks to the ingeneous folk who devised these clever routines and generously contributed them to the Tcl community.

While written and tested under Tcl 8.3, I expect this library will work under all 8.x versions of Tcl.

## COMMANDS

::math::roman::toroman i

  Convert an integer to roman numerals. The result is always in upper case. The value zero is converted to an empty string.

::math::roman::tointeger r

  Convert a roman numeral into an integer.

::math::roman::sort list

  Sort a list of roman numerals from smallest to largest.

::math::roman::expr args

  Evaluate an expression where the operands are all roman numerals.

Of these commands both toroman and tointeger are exported for easier use. The other two are not, as they could interfer or be confused with existing Tcl commands.

## Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category math :: roman of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide unified diffs, i.e the output of diff -u.

Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## Keywords

conversion, integer, roman numeral

## Category

Mathematics

## Copyright

Copyright © 2005 Kenneth Green <kenneth.green@gmail.com>