In a Tikz Figure, I'm doing some computation and want to print results as label of nodes.
The problem is that I only need the integer part of the number to print.
I tried with round() function. It round the values correctly but they are printed with .0
\begin{tikzpicture}
\foreach \i in {1,2,3,4,5,6} {
\pgfmathparse{round(\i*100/3) }
\let\theIntINeed\pgfmathresult
\draw (\i,0) node {\theIntINeed};
}
\end{tikzpicture}
% Results: 33.0 67.0 100.0 133.0 167.0 200.0
Thank you in advance.
Best Answer
\pgfmathparse
always saves its result with a decimal part. You can either use\pgfmathprintnumber{\pgfmathresult}
in the node text to output the number, which will remove the.0
for integers, or do the calculation using\pgfmathtruncatemacro\mymacro{round(\i*100/3)}
, which will save the result of the calculation without the decimal part, and then use\mymacro
in the node text.