Mit der Verwendung von `booktabs` hat die geänderte Ausgabe des Dezimaltrenners nichts zu tun, sondern mit dem genutzten Spaltentyp `S` und den Voreinstellungen des Paketes `siunitx`.
[`siunitx`][1].
In der unteren Tabelle wird dagegen der Inhalt genauso ausgegeben, wie Du ihn angegeben hast.
In der oberen Tabelle nutzt Du den `S`-Spaltentyp aus dem Paket `siunitx`, damit die Zahlen formatiert und am Dezimaltrenner ausgerichtet ausgegeben werden. `siunitx` verwendet in der Voreinstellung den Punkt als Dezimaltrenner. Wenn Du möchtest, dass genau der Dezimaltrenner so wie in Deiner Eingabe verwendet wird, dann nutze die Option `copy-decimal-marker`.
\documentclass[captions=tableabove]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{booktabs}
\usepackage[copy-decimal-marker]{siunitx}
\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{table}
\centering
\caption{Header}
\begin{tabular}{@{}rc*{6}{S}@{}}
\toprule
dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
\midrule
& fgf & {1} & {2} & {3} & {4} & {5} & {6} \\
dfg & 1 & 40.50 & 0.00 & 0.00 & 41.00 & 0.00 & 0.00\\
dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
![alt text][1]
text][2]
Du kannst aber auch über die Option `output-decimal-marker={,}`, oder in dem Du das Paket `siunitx` mit einem passenden Wert für die Option `locale` lädst, vorgeben, dass immer ein Komma als Trenner ausgegeben wird.
\documentclass[captions=tableabove]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{booktabs}
\usepackage[output-decimal-marker={,}]{siunitx}
\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{table}
\centering
\caption{Header}
\begin{tabular}{@{}rc*{6}{S}@{}}
\toprule
dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
\midrule
& fgf & {1} & {2} & {3} & {4} & {5} & {6} \\
dfg & 1 & 40.50 & 0.00 & 0.00 & 41.00 & 0.00 & 0.00\\
dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
![alt text][2]
text][3]
Nebenbemerkung: Wenn Du das Paket [`selinput`][4] zum halbautomatischen Ermitteln der Eingabekodierung nutzen möchtest, musst Du auch den Befehl `\SelectInputMappings` mit entsprechenden Angaben im Argument machen.
[1]: http://www.ctan.org/pkg/siunitx
[2]: http://texwelt.de/wissen/upfiles/tw_kopu.png
[2]: http://texwelt.de/wissen/upfiles/tw_komma.png[3]: http://texwelt.de/wissen/upfiles/tw_komma.png
[4]: http://www.ctan.org/pkg/selinput