My initial reaction was "that's obvious; there are methods in the String class", but when I looked I realised that this isn't actually as trivial as that.
For printf-like functionality, class String has a "formatting" category with undocumented methods. The excellent "Squeak by Example" book has some examples (
http://scg.unibe.ch/SBE/SBE.pdf, page 208) but the functionality is very limited compared with printf.
See also SequenceableCollection>>copyReplaceAll:with:
For formatting currency, I notice there's a Locale class with Locale>>primCurrencySymbol, but I can't find any more advanced methods for actually formatting a currency, and I can't find any currency classes for any Smalltalk dialect on Google (!), apart from an LcMonetary class for GNU Smalltalk.