Ich würde die Berechnung einfach `pgfplots` überlassen und dafür die Tick-Nummer `\ticknum` verwenden:
    \documentclass[border=5mm, varwidth]{standalone}
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    \usetikzlibrary{math}
    
    \begin{document}
    
    % Reichweite der Ticks festlegen
    \def\Range{0,...,6}
    
    % ticklist erstellen
    \newcommand{\xticklist}{}% Name reservieren
    \let\xticklist=\empty% Liste erstellen
    \makeatletter
    \foreach \n  in \Range
    {
    \pgfmathparse{\n*pi}%
      \ifx\empty\xticklist{} \protected@xdef\xticklist{\pgfmathresult}%
      \else \protected@xdef\xticklist{\xticklist,\pgfmathresult}%
      \fi
    }
    \makeatother
    
    \begin{tikzpicture}[]
    \begin{axis}[
    axis lines=middle, 
    xlabel=$x$,xlabel style={anchor=north},
    ylabel=$y$,ylabel style={anchor=east},
    x axis line style = {-latex}, y axis line style = {-latex},
    %
    xtick/.expanded = {\xticklist},                        % tut 
    %
    xticklabel = {
      \pgfmathparse{\ticknum*pi}
      $\underbrace{\pgfmathprintnumber{\pgfmathresult}}_{\approx \ticknum\pi}$
    },    % tut
    %
    ]
    \addplot[domain=0:20, samples=300] {sin(deg(x))}; 
    \end{axis}
    \end{tikzpicture}
    
    \end{document}
[![alt text][1]][1]
Prinzipiell kann man aber auch `\tick`, also den Wert des Ticks verwenden:
    xticklabel = {
      $\underbrace{\pgfmathprintnumber{\tick}}_{\approx \ticknum\pi}$
    },    % tut
oder oder daraus sogar wieder den Faktor berechnen:
    xticklabel = {
      \pgfmathparse{\tick/pi}
      $\underbrace{\pgfmathprintnumber{\tick}}_{\approx \pgfmathprintnumber{\pgfmathresult}\pi}$
    },    % tut
Siehe auch: http://texwelt.de/wissen/fragen/21551/wie-erstelle-ich-listen-zur-achsenbeschriftung-fur-pgfplots-tikz/21554
  [1]: http://texwelt.de/wissen/upfiles/test_20180214_150239.png