# How to omit printing the decimal part in pgfmath macros

In Dimensioning of a technical drawing in TikZ a very nice solution to mark lengths on a drawing has been given that uses pgfmath's capability. How do I omit having the decimal part of the number printed, eg: 25 instead of 25.0?

You can use the optional arguments of \pgfmathprintnumber to either cut off the decimal part or to round the number to an integer. Alternatively, you can use the \num macro from the siunitx package to round the number:

\documentclass{article}
\usepackage{tikz}
\usepackage{siunitx}
\begin{document}
\pgfmathsetmacro\testnumber{25.7}
\pgfmathprintnumber{\testnumber}

\pgfmathprintnumber[int trunc]{\testnumber}

\pgfmathprintnumber[fixed,precision=0]{\testnumber}

\num{\testnumber}

\num[round-mode=figures]{\testnumber}
\end{document}


• Yes it's the better way – Alain Matthes Jun 1 '11 at 7:52
• Hi Jake, Thanks for the answer, but when I cut and paste the above example into a document, pdflatex can't typeset it. It returns: Undefined control sequence. l.4 \pgfmathprintnumber – Chah Jun 1 '11 at 9:19
• @Chah: You might have to update to a more recent version of PGF for this. – Loop Space Jun 1 '11 at 10:21
• @Chah: Yes, it looks like you're using an outdated version of PGF. You can get the version number by inserting \pgfversion in your document; it should be at least v2.1. – Jake Jun 1 '11 at 10:59