\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich
\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{microtype}

\usepackage{mathswap}
\begin{document}

\mathswapoff
\(4.523,58\)
\mathswapon

\(4.523,58\)

\(4,523.58\)

\begingroup
  \commaswap{\,}
  \dotswap{,}
  \(4,523.58\)
\endgroup

\begingroup%
  \selectlanguage{english}%
  \(4,523.58\)\par
  \(4.523,58\)\par
  \commaswap{.}
  \dotswap{\,}
  \(4.523,58\)%
\endgroup

\end{document}

