在 Tikz Figure 中,我正在做一些计算,并希望将结果打印为节点的标签。问题是我只需要打印数字的整数部分。
我尝试使用 round() 函数。它正确地对值进行了舍入,但它们打印时.0
\begin{tikzpicture}
\foreach \i in {1,2,3,4,5,6} {
\pgfmathparse{round(\i*100/3) }
\let\theIntINeed\pgfmathresult
\draw (\i,0) node {\theIntINeed};
}
\end{tikzpicture}
% Results: 33.0 67.0 100.0 133.0 167.0 200.0
先感谢您。
答案1
\pgfmathparse
总是保存带有小数部分的结果。您可以\pgfmathprintnumber{\pgfmathresult}
在节点文本中使用 输出数字,这将删除.0
整数的 ,也可以使用 进行计算\pgfmathtruncatemacro\mymacro{round(\i*100/3)}
,这将保存不带小数部分的计算结果,然后\mymacro
在节点文本中使用。
答案2
您还可以使用int
返回值的整数部分的函数,即
\pgfmathparse{int(round(\i*100/3))}
答案3
只需使用\pgfmathtruncatemacro\theIntINeed
而不是\pgfmathresult
。