Examples: Format function

Here are several examples of the Format function

' Currency 
' Get monthly revenue and expenses from the user, converting 
' strings to currency. Compute and display the balance,
' formatted as currency.
Dim rev As Currency, expense As Currency, bal As Currency
rev@ = CCur(InputBox("How much did we make this month?"))
expense@ = CCur(InputBox("How much did we spend?"))
bal@ = rev@ - expense@
MessageBox "Our balance this month is " _
   & Format(bal@, "Currency")


' Percent
Dim total As Integer, attend As Integer, percent As Double
total% = CInt(InputBox("How many people registered?"))
attend% = CInt(InputBox("How many people actually attended?"))
percent# = attend% / total%
MessageBox "The attendance was " _		' Use "Percent" format
	& Format(percent#, "Percent")
MessageBox "The attendance was " _		' Use custom format codes
	& Format(percent#, "0%")		' can carry % to any number of places:
								'  0.0%, 0.00%, 0.000%, and so on


' Example of custom formatting using sections
Dim x As Integer
x = 1
Print Format(x, "0.0;0%")	' Output: 1.0
x = -1
Print Format(x, "0.0;0%")	' Output: 100%
x = 0
Print Format(x, "0.0;0%;zippo")	' Output: zippo
Print chr$(34) & Format(x, "zippo") & chr$(34)	' Output: "zippo"


' Yes/No, True/False, & On/Off
Dim value As Integer
value = 0
Print Format$(value, "Yes/No")		' Output "No"
Print Format$(value, "On/Off")		' Output "Off"
Print Format$(value, "True/False")	' Output "False"
value = 2
Print Format$(value, "Yes/No")		' Output "Yes"
Print Format$(value, "On/Off")		' Output "On"
Print Format$(value, "True/False")	' Output "True"


' Date and Time formats
x = 36525
Print Format(x, "General Date")		' Output: 12/31/1999
Print Format(x, "Long Date")		' Output: Friday, December 31, 1999
Print Format(x, "Medium Date")		' Output: 31-Dec-99
Print Format(x, "Short Date")		' Output: 12/31/99
y = 123.45
Print Format(y, "Long Time")		' Output: 10:48:00 AM
Print Format(y, "Medium Time")		' Output: 10:48 AM
Print Format(y, "Short Time")		' Output: 10:48


' Custom String formats
Dim x As String, y As String, z As String

' Format directory string
x = "dtemp"
Print Format(x, "!copy to directory @:\\@")
' Output: copy to directory d:\temp
'Use sections and NULL data
Print Format(y, "!copy to directory @:\\@;don't copy - no valid data")
'Output: don't copy - no valid data

' Manipulate character positions
dim x as string, y as string, z as string
x = "hello world"
y = "hello"
z = "world"
Print Format(x, "!@")				' Output: hello world
print format(y, "&&&&&&&&&&" & z)
' Output: "helloworld" (& ignores non-characters)
print format(y, "!&&&&&&&&&&" & z)
' Output: "helloworld" (! matters not with &)
print format(y, "@@@@@@@@@@" & z)	' Output: "     helloworld"
print format(y, "!@@@@@@@@@@" & z)	' Output: "hello     world"

' Format all characters to lower then upper case
z = "Hello World"
Print Format(z, "<")		' Output: hello world
Print Format(z, ">")		' Output: HELLO WORLD