Copyright Digital Equipment Corp. All rights reserved.

Example

       #include <stdlib.h>
       #include <stdio.h>
       #include <locale.h>
       #include <monetary.h>
       #include <errno.h>

       #define MAX_BUF_SIZE 124

       main()
       {
         size_t ret;
         char buffer[MAX_BUF_SIZE];
         double amount = 102593421;

        /* Display a monetary amount using the en_US.ISO8859-1 */
        /* locale and a range of different display formats.    */

         if (setlocale(LC_ALL, "en_US.ISO8859-1") == (char *) NULL) {
             perror("setlocale");
             exit(EXIT_FAILURE);
         }
         ret = strfmon(buffer, MAX_BUF_
SIZE, "International: %i\n", amount);
         printf(buffer);

         ret = strfmon(buffer, MAX_BUF_
SIZE, "National:      %n\n", amount);
         printf(buffer);

         ret = strfmon(buffer, MAX_BUF_
SIZE, "National:      %=*#10n\n", amount);
         printf(buffer);

         ret = strfmon(buffer, MAX_BUF_
SIZE, "National:     %(n\n", -1 * amount);
         printf(buffer);

         ret = strfmon(buffer, MAX_BUF_
SIZE, "National:      %^!n\n", amount);
         printf(buffer);
       }

   Running the example program produces the following result:

   International: USD 102,593,421.00
   National:      $102,593,421.00
   National:      $**102,593,421.00
   National:      ($102,593,421.00)
   National:      102593421.00