Indeed it would.
The values represented by %1, %2, etc are referenced to the variable names which follow the string construct, so in the example above 'money' would be a global variable set before the format command is called - otherwise it would return a missing variable error.
You can do some nifty things with format, not just displaying strings. For example, say you have 10 markers on your map named sequentially, i.e. m1, m2, m3, etc. and 10 loons on the map named sequentially, i.e. loon1, loon2, loon3, etc. You could move those markers with the following script:
#loop
"m1" setmarkerpos getpos loon1
"m2" setmarkerpos getpos loon2
"m3" setmarkerpos getpos loon3
etc...
~1
goto "loop"
which is a bit repetitive and unnecessary, because the same thing can be achieved using the format command:
_i = 1
#loop
call format[{"m%1" setmarkerpos getpos loon%1}, _i]
_i = _i + 1
?(_i > 10) : _i = 1
~0.1
goto "loop"