36

I include the number as \num{0.12368455}. I need to print '0.1237'.

How to do this...

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036
sandu
  • 7,950

1 Answers1

71

With the the siunitx package you can use the option round-mode=places, round-precision=4 to obtain the desired results.

  1. If you only need to control the rounding for a few numbers you use it as an option to \num:

    enter image description here

    \documentclass{article}
    \usepackage{siunitx}
    \begin{document}
    \num{0.12368455}
    
    \num[round-mode=places,round-precision=4]{0.12368455}
    \end{document}
    
  2. If you need to do this for the entire document you can use \sisetup{round-mode=places,round-precision=4} so that this formatting is applied for the entire document:

    enter image description here

    \documentclass{article}
    \usepackage{siunitx}
    \sisetup{round-mode=places,round-precision=4}
    
    \begin{document}
       \num{0.12368455}
    \end{document}
    
  3. Another way of achieving this is to use round-mode=figures, round-precision=4.

    enter image description here

    \documentclass{article}
    \usepackage{siunitx}
    
    \begin{document}
        \num[round-mode=figures,round-precision=4]{0.12368455}\par
        \num[round-mode=figures,round-precision=4]{0.12}\par
        \num[round-mode=places,round-precision=4]{0.12368455}\par
        \num[round-mode=places,round-precision=4]{0.12}
    \end{document}
    

round-mode=figures vs round-mode=places

With [round-mode=figures,round-precision=4] you get 4 significant figures, and with [round-mode=places,round-precision=4] you get 4 decimal places. Here is a comparison:

enter image description here


Similar results can also be achieved using \pgfmathprintnumber:

enter image description here

Code:

\documentclass{article}
\usepackage{pgf}

\newcommand*{\MyNum}[1]{%
    \pgfmathprintnumber[
        fixed,
        precision=4,
        fixed zerofill=true,
        ]{#1}}%

\begin{document}
\MyNum{0.12368455}\par
\MyNum{0.12}
\end{document}
Peter Grill
  • 223,288
  • @PeterGrill I'd suggest adding another example to the third paragraph to visualize the difference between figures and places, e.g. \num[...]{12.12}. – dgs Jun 09 '12 at 10:07
  • 2
    @dgs: Have added the requested info. If it can be improved in any way, please let me know. – Peter Grill Jun 10 '12 at 07:29
  • Would you please tell me what option is responsible for printing 0.1234 as 0.123, while 0.12 should be printed as it is without adding an additional zero? – Diaa Nov 04 '19 at 22:59
  • 1
    @Diaa: I suggest you post a new question for that. If you are having difficulty chances are other will also so would make a good question. In the meantime you can use \newcommand*{\MyNum}[1]{\pgfmathprintnumber[precision=3]{#1}}. – Peter Grill Nov 04 '19 at 23:26