I think you can do this by setting your locale appropriately, making sure that the LC_NUMERIC
component is set to a locale that uses a comma as the decimal separator (http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html).
Sys.setlocale("LC_NUMERIC","es_ES.utf8")
sprintf("%f",1.5)
## "1,500000"
This gives a warning that R may behave strangely; you probably want to switch LC_NUMERIC
back to C as soon as you're done generating output.