You didn't specify banker's rounding or arithmetic rounding.
Either way you need a locale-specific format for Germany (de_DE).
Banker's rounding is the default mode (note this not a Marketo-specific thing, nor a Velocity thing, but across anything built on the Java foundation):
#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) )
banker's: ${customFormat.format($lead.SomeField)}
If you need arithmetic rounding (if neither you nor your manager is a developer or accountant, you probably meant arithmetic):
#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) )
#set( $void = $customFormat.setRoundingMode($field.in($customFormat.getRoundingMode()).HALF_UP) )
arithmetic: ${customFormat.format($lead.SomeField)}
Update 2019-12-07: please read responses to your threads, it's very frustrating to take time to provide Correct answers and have the thread abandoned.