A me risulta che l’opzione italian di babel già contiene la virgola intelligente che funziona sempre correttamente in modo matematico (sempre vuol dire che da me con i file che scrivo io, il risultato è sempre quello che si vorrebbe in matematica).
Io non userei nemmeno \newcolumntype; ma farei tutta la tabella con un array:
`
…
\usepackage[italian]{babel}
…
\begin{document}
…
\begiin{table}
\[
\begin{array}{*5c}
\toprule
D & P_u & u_u & \beta & G_f \\
\mathrm{(m)} & \mathrm{(kg)} & \mathrm{(m)} & & \mathrm{(Pa\cdot m)} \\
\midrule
5 & 269,8 & 0,000674 & 1,79 & 0,04089 \\
10 & 421,0 & 0,001035 & 3,59 & 0,04089 \\
20 & 640,2 & 0,001565 & 7,18 & 0,04089 \\
\bottomrule
\end{array}
\]
\end{table}
`
Per quel che riguarda i font euler, con tutto il rispetto per Zapf, ti ho già scritto tempo fa che cosa ne penso 😯
Aggiungo: \cdot è un operatore binario attorno al quale TeX mette già gli spazi giusti, tu avevi usato il codice per il “bullet-tino” testuale perché lavoravi in modo testo, ma la bona regola, tu mi insegni, è di scrivere la matematica in modo matematico.