Home / 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