15

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?

1 Answer 1

20

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}

different rounding methods

4
  • Yes it's the better way Jun 1, 2011 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, 2011 at 9:19
  • @Chah: You might have to update to a more recent version of PGF for this. Jun 1, 2011 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, 2011 at 10:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .