bas7advr.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
FormatX$ Functions Details
  Syntax  Details  Example                 Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
The FormatX$ functions provide a wide range of formats for numeric and
date/time data. See "Usage Notes" below for a description of all available
formats.
 
FormatI$ (expression# , fmt$)
FormatL$ (expression# , fmt$)
FormatS$ (expression# , fmt$)
FormatD$ (expression# , fmt$)
FormatC$ (expression# , fmt$)
 
    ■ If the argument fmt$ is not specified for a null string, the general
      format--that which would give output identical to output with no
      formatting--is used.
 
Usage Notes
    ■ To use any of the FormatX$ functions, you must first start BASIC
      with the correct Quick library, link your program with FORMAT.LIB,
      or use the FORMAT.QLB Quick library.
    ■ The following symbols are used to create formats:
 
      This symbol        Means this
      ═══════════════    ════════════════════════════════════════════════
      Null string        Display the number in general format.
      0                  Digit place holder:
                           - If the number has fewer digits on either side
                             of the decimal point than there are zeros on
                             either side of the decimal point in the format,
                             then the extra zeros are displayed.
                           - If the number has more digits to the right of
                             the decimal point than there are zeros to the
                             right in the format, the number is rounded
                             to as many decimal places as there are zeros to
                             the right.
                           - If the number has more digits to the left of
                             the decimal point than there are zeros to the
                             left in the format, the extra digits are
                             displayed.
      #                  Digit placeholder:
                           - Follows the same rules as for the 0 digit
                             placeholder, except that extra zeros are not
                             displayed if the number has fewer digits on
                             either side of the decimal point than there
                             are #'s on either side of the format.
      .                  Decimal point:
                           - This symbol determines how many digits (0's or
                             #'s) BASIC displays to the right and left of
                             the decimal point. Depending on the country
                             code set using the SetFormattCC routine, BASIC
                             may use the comma as the decimal point.
                           - If the format contains only #'s to the left
                             of this symbol, then numbers smaller than 1
                             are begun with a decimal point. To avoid this,
                             you should use 0 as the first digit placeholder
                             to the left of a decimal point instead of #.
      %                  Percentage:
                           - The expression is multiplied by 100 and the
                             % character is inserted.
      ,                  Thousands separator:
                           - BASIC separates thousands by commas (or by
                             periods if the country code has been set to
                             a country other than the United States) if
                             the format contains a comma surrounded by #'s
                             or 0's.
                           - Two adjacent commas, or a comma immediately to
                             the left of the decimal point location (whether
                             there is a decimal specified or not) means
                             "Omit the three digits that fall between these
                             commas, or between the comma and the decimal
                             point, rounding as needed."
      E- E+ e- e+        Scientific format:
                           - If a format contains one digit placeholder
                             (0 or #) to the right of an E-, E+, e-, or e+,
                             BASIC displays the number in scientific format
                             and inserts an E or e.
                           - The number of 0's or #'s to the right
                             determines the number of digits in the
                             exponent.
                           - Use E- or e- to place a minus sign next to
                             negative exponents. Use E+ or e++ to place a
                             minus sign next to negative exponents and a
                             plus sign next to positive exponents.
      : - + $ () space   Display that literal character:
                           - To display a character other than one of these,
                             precede the character with a backslash (\) or
                             enclose the character(s) in double quotation
                             marks ("").
                         Display the next character in the format string:
                           - Many characters in the format string have a
                             special meaning and cannot be displayed as
                             literal characters unless they are preceded
                             by a backslash. The backslash is not
                             displayed. This is the same as enclosing the
                             next character in double quotation marks.
                           - Examples of such characters are the date-
                             and time-formatting characters (y, m, d, h,
                             s, a, and p) and the numeric-formatting
                             characters (#, 0, %, E, e, comma, and
                             period).
      "abc"              Display whatever text is inside the double quotes:
                           - To include a text string in fmt$, you must
                             use CHR$(34) to enclose the text (34 is the
                             ASCII code for double quotation mark).
 
    ■ Some sample numeric formats are shown below (these examples all
      assume the country code is set to 1, the United States).
 
                                                Result for:
                                        ═════════════════════════════
        Format (fmt$)                       5          -5          .5
        ══════════════════════════      ═════     ═══════       ═════
        Null string                         5          -5         0.5
        0                                   5          -5           1
        0.00                             5.00       -5.00        0.50
        #,##0                               5          -5           1
        #,##0.00                         5.00       -5.00        0.50
        $#,##0;($#,##0)                    $5        ($5)          $1
        $#,##0.00;($#,##0.00)           $5.00     ($5.00)       $0.50
        0%                               500%       -500%         50%
        0.00%                         500.00%    -500.00%      50.00%
        0.00E+00                     5.00E+00   -5.00E+00    5.00E-01
        0.00E-00                      5.00E00    -5.00E00    5.00E-01
 
    ■ A number format can have three sections separated by semicolons.
      The first section formats positive values; the second section formats
      negative values, and the third section formats zeros. The following
      example has two sections: the first section defines the format for
      numbers greater than 0; the second section defines the format for
      numbers less than 0:
 
        $#,##0;($#,##0)
 
    ■ You can use from one to three sections:
 
        If you use              The result is
        ════════════════        ═════════════════════════════════════════
        One section only        The format applies to all numbers.
        Two sections            The first section applies to positive
                                numbers and zeros; the second to negative
                                numbers.
        Three sections          The first section applies to positive
                                numbers, the second to negative numbers
                                numbers, and the third to zeros.
 
    ■ If you have semicolons with nothing between them, the missing section
      prevents that type of number from being displayed. For example, the
      following format will print positive numbers and zeros, but it will
      not print negative numbers.
 
        $#,##0;;"Zero"
 
Date/Time Formats
    ■ Date/time serial numbers can be formatted with date/time or with
      numeric formats (since date/time serial numbers are stored as
      floating-point values). Date/time formats are:
 
        This symbol      Means this
        ═════════════    ═════════════════════════════════════════════════
        d dd ddd dddd    Display the day as a number without leading zeros
                         (1-12), as a number with leading zeros (01-12),
                         as an abbreviation (Sun-Sat), or as a full name
                         (Sunday-Saturday).
        m mm mmm mmmm    Display the month as a number without leading
                         zeros (1-12), as a number with leading zeros
                         (01-12), as an abbreviation (Jan-Dec), or as a
                         full month name (January-December). If you use m
                         or mm immediately after the h or hh symbol, the
                         minute rather than the month is displayed.
        yy yyyy          Display the year as a two-digit number (00-99),
                         or as a four-digit number (1900-2040).
        h hh             Display the hour as a number without leading zeros
                         (0-23), or as a number with leading zeros
                         (00-23). If the format contains an AM or PM, the
                         hour is based on the 12-hour clock. Otherwise,
                         the hour is based on the 24-hour clock.
        m mm             Display the minute as a number without leading
                         zeros (0-59), or as a number with leading zeros
                         (00-59). The m or mm must appear after an h or
                         hh, or the month is displayed rather than the
                         minute.
        s ss             Display the second as a number without leading
                         zeros (0-59), or as a number with leading zeros
                         (00-59).
        AM/PM am/pm      Display the hour using a 12-hour clock. AM, am,
        A/P a/p          A, or a are displayed for times up until noon;
                         PM, pm, P, or p are displayed for times between
                         noon and midnight.
 
    ■ The following are examples of date and time formats:
 
        Format                      Display
        ══════════════              ════════════
        m/d/yy                      12/7/58
        d-mmmm-yy                   7-December-58
        d-mmmm                      7-December
        mmmm-yy                     December-58
        h:mm AM/PM                  8:50 PM
        h:mm:ss AM/PM               8:50:35 PM
        h:mm                        20:50
        h:mm:ss                     20:50:35
        m/d/yy h:mm                 12/7/58 20:50