I try to use the results of pgfmath calculations with cnttest from xifthen, but it fails:



pdflatex (TexLive 2012) produces in the log:

./test.tex:7: Missing number, treated as zero.
<to be read again> 
l.7   \ifthenelse{\cnttest{\val}{>=}{50}}

And in the document (yes, the message leaves the page):

enter image description here

I suspect it's an expansion problem -- something I seem to be unable to wrap my head around. I know that using \pgfmathprintnumber{\pgfmathresult} directly (instead of val does not help. Can I fix this somehow?

  • 1
    You can simply use \pgfmathtruncatemacro\val{42+77}% to directly save the integer part of the operation result into your \val macro. Then everything works as expected.
    – Jake
    Nov 14, 2012 at 22:41
  • @Jake Sweet, thanks. Can you make that an answer?
    – Raphael
    Nov 14, 2012 at 22:48
  • Is really \pgfmathparse necessary? If you're dealing with integers, \numexpr is way handier.
    – egreg
    Nov 14, 2012 at 22:58
  • @egreg I'm not too familar with the capabilities of either one, but keep in mind that I provided an MWE. Real use cases may not be restricted to integers.
    – Raphael
    Nov 14, 2012 at 23:16

1 Answer 1


You are already using PGF so why not use also the conditionals of PGF ?

  \pgfmathparse{42+77<50? "Small" : "Large"}\pgfmathresult%

You must log in to answer this question.

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