使用 pgfmath 修复前导 0

使用 pgfmath 修复前导 0

我想使用 来计算打印的时间pgfmath。我有一些与此类似的代码:

\pgfmathparse{int(mod(\x,60))}\pgfmathresult O'clock

但如果结果介于 0 到 9 之间,则显示的时间类似于11:2而不是11:02。 我可以强制在前面固定零吗? 我只找到了在最后得到它们的方法。

答案1

pgfmath可以在计算中使用字符串,因此您可以测试结果是否小于 10,并0在这种情况下添加:

\documentclass{article}

\usepackage{tikz}

\begin{document}
\foreach \x in {2,4,...,14}{
    11:\pgfmathparse{mod(\x,60)<10?"0":{},int(mod(\x,60))}\pgfmathresult\hspace{1em}
}
\end{document}


另一个解决方法是将数字除以 100,然后打印不带前导零和小数点标记的输出:

11:\pgfmathparse{int(mod(\x,60))/100}\pgfmathprintnumber[skip 0.=true, dec sep={}, fixed]{\pgfmathresult}

相关内容