Im Resultat einfach `.` mit `{,}` ersetzen mittels `gsub`. Die zusätzlichen geschweiften Klammern sorgen dafür, dass hinter dem Komma kein größerer Abstand eingefügt wird.
Damit man den Punkt ersetzen kann muss man das `gsub`-Pattern `%.` verwenden. Mit `\directlua` gibt es keinen einfachen Weg das Prozentzeichen reinzuschmuggeln, aber mit `\luaexec` aus dem `luacode`-Paket kann man einfach `\%` schreiben.
\documentclass{article}
\usepackage{luacode}
\begin{document}
\directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
Dann gilt $2 \cdot a=\luaexec{tex.sprint(string.gsub(2*a, "\%.", "{,}"))}$.
\end{document}
![alt text][1]
---
Alternativ kann man die Ausgabe auf TeX-Ebene verarbeiten. Hier bietet sich `siunitx` an, welches mit der Option `locale=DE` automatisch auf deutsche Konvention bei Einheiten und Dezimaltrennern umschaltet.
\documentclass{article}
\usepackage[locale=DE]{siunitx}
\begin{document}
\directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
Dann gilt $2 \cdot a=\num{\directlua{tex.sprint(2*a)}}$.
\end{document}
![alt text][2]
[1]: http://texwelt.de/wissen/upfiles/test_259.pnghttp://texwelt.de/wissen/upfiles/test_259.png
[2]: http://texwelt.de/wissen/upfiles/test_260.png