| inttxt | 
| Table of contents Procedure
     INTTXT ( Convert an integer to text )
     SUBROUTINE INTTXT ( N, STRING )
Abstract
     Convert an integer to an equivalent written phrase.
     For example, convert 121 to 'ONE HUNDRED TWENTY-ONE'.
Required_Reading
     None.
Keywords
     CONVERSION
     PARSING
     STRING
     UNITS
     UTILITY
Declarations
     IMPLICIT NONE
     INTEGER               N
     CHARACTER*(*)         STRING
Brief_I/O
     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     N          I   An integer (less than 10**12 in absolute value).
     STRING     O   An English string representing the cardinal of N.
Detailed_Input
     N        is any integer (less than 10**12 in absolute value).
              If N is less than 0, -N must be a legitimate number.
Detailed_Output
     STRING   is the English cardinal equivalent of N. STRING will
              contain only upper case letters.
              The longest possible output string contains 145
              characters. One such string is:
                 'NEGATIVE '                                  //
                 'SEVEN HUNDRED SEVENTY-SEVEN BILLION '       //
                 'SEVEN HUNDRED SEVENTY-SEVEN MILLION '       //
                 'SEVEN HUNDRED SEVENTY-SEVEN THOUSAND '      //
                 'SEVEN HUNDRED SEVENTY-SEVEN'
Parameters
     None.
Exceptions
     Error free.
     1)  If the resulting text is longer than the output string,
         it will be truncated on the right, leaving only the most
         significant portion of the number.
Files
     None.
Particulars
     This routine is used primarily for constructing error messages.
     For example, an overflow message might look like the following:
        'An excess of seventy-four parameters was detected.'
     A second use might be to write dollar amounts: it's much harder
     to tamper with a string like
        'Two thousand four hundred seventy-one dollars'
     than with the equivalent string
        '$ 2471.00'
Examples
     N           STRING
     ------      ------------------------------------------
     -43         NEGATIVE FORTY-THREE
      1          ONE
      2          TWO
      3          THREE
      4          FOUR
      20         TWENTY
      21         TWENTY-ONE
      99         NINETY-NINE
      82131      EIGHTY-TWO THOUSAND ONE HUNDRED THIRTY-ONE
Restrictions
     1)  This routine assumes that N will always be less than
         a trillion (10**12) in absolute value.
     2)  In the event that N is less than zero, this routine assumes
         that -N is a legitimate integer on the host machine.
     3)  This routine assumes that an integer as large as 10**9
         (one billion) is representable on the host machine.
Literature_References
     None.
Author_and_Institution
     J. Diaz del Rio    (ODC Space)
     W.L. Taber         (JPL)
Version
    SPICELIB Version 1.1.0, 12-AUG-2021 (JDR)
        Added IMPLICIT NONE statement.
        Edited the header to comply with NAIF standard.
    SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)
        Comment section for permuted index source lines was added
        following the header.
    SPICELIB Version 1.0.0, 15-AUG-1990 (WLT) | 
Fri Dec 31 18:36:28 2021