/ lang / format
Format$
Syntax

    String = Format$ ( Expression [ , Format ] )
    String = Format ( Expression [ , Format ] )

Converts the Expression to a String by using a format that depends on the type of the Expression .

This function can format dates, times, numbers, and currencies.

Format can be a predefined format (an Integer constant) or a user-defined format (a String that depicts the format) or can be omitted.

See Predefined Constants for a list of predefined formats.

If Format is not specified, gb.Standard is used.

| This function uses localization information.

## User-defined formats for a numeric expression

A user-defined format is described by a sequence of special characters.

Arbitrary characters specified before and after the format strings will be printed as is

### Characters for user-defined formats

`+` | Prints the sign of the number.
`-` | Prints the sign of the number only if it is negative.
`#` | Prints a digit only if necessary.
`0` | Always prints a digit, padding with a zero if necessary.
`.` | Prints the decimal separator.
`,` | Prints the thousand separators.
`%` | Multiplies the number by 100 and prints a per-cent sign.
`E` | Introduces the exponential part of a Float number. The sign of the exponent is always printed.

### Examples

    PRINT Format$(Pi, "-#.###")
    <hr>3.142

    PRINT Format$(Pi, "+0#.###0")
    <hr>+03.1416

    PRINT Format$(Pi / 10, "###.# %")
    <hr>31.4 %

    PRINT Format$(-11 ^ 11, "#.##E##")
    <hr>-2.85E+11

### User-defined format characters for currencies

`$` | Prints the national currency symbol.
`$$` | When the `$` is doubled, the international currency symbol is printed instead.
`(` | Prints the representation of negative currencies. This must be the first character of the format. You can specify a closed brace `)` at the end of the format.

    PRINT Format$(1972.06, "$#.###")
    <hr>$1972.06

    PRINT Format$(-1972.06, "$,#.###")
    <hr>-$1,972.06

    PRINT Format$(-1972.06, "($,#.###)")
    <hr>$1,972.06
    or
    1.972,06 €

### User-defined format characters for dates

`yy` | Prints the year on two digits.
`yyyy` | Prints the year on four digits.
`m` | Prints the month.
`mm` | Prints the month on two digits.
`mmm` | Prints the month in an abbreviatted string form.
`mmmm` | Prints the month in its full string form.
`d` | Prints the day.
`dd` | Prints the day on two digits.
`ddd` | Prints the week day in an abbreviated form.
`dddd` | Prints the week day in its full form.
`/` | Prints the date separator.
`h` | Prints the hour.
`hh` | Prints the hour on two digits.
`n` | Prints the minutes.
`nn` | Prints the minutes on two digits.
`s` | Prints the seconds.
`ss` | Prints the seconds on two digits.
`:` | Prints the time separator.
`u` | Prints the milliseconds, if they are different from zero.

    PRINT Format$(Now, "mm/dd/yyyy hh:nn:ssu")
    <hr>04/15/2002 09:05:36.26

    PRINT Format$(Now, "m/d/yy h:n:s")
    <hr>4/15/02 9:5:36

    PRINT Format$(Now, "ddd dd mmm yyyy")
    <hr>Mon 15 Apr 2002

    PRINT Format$(Now, "dddd dd mmmm yyyy")
    <hr>Monday 15 April 2002

    PRINT Format$(Now, "yyyy-mm-dd hh-nn-ss")
    PRINT Format$(Now, "yyyy/mm/dd hh:nn:ss")
    <hr>2006-04-29 07-41-11
    2006.04.29 07:41:11

### See also

Formatting functions