我打算编写一个命令,对 n 位数字进行四舍五入。n 是可选参数,默认值为 2。但是,我一直收到错误消息:
缺少数字,视为零。让我们看看是否打印:\round{3.1415926,2}
\documentclass{article}
\usepackage{tikz}
\newcommand{\round}[2][2]{\pgfmathparse{round({#1}*10^{#2})/(10^{#2})}\pgfmathresult}
\begin{document}
Let's see if this prints: \round{3.1415926,2}.
\end{document}
我做错了什么?如何修复此代码?
答案1
除了额外逗号的问题之外,我认为你搞错了#1
和的顺序#2
,而且已经有办法可以精确地完成你想要的操作。
\documentclass{article}
\usepackage{tikz}
\newcommand{\round}[2][2]{
\pgfkeys{/pgf/number format/.cd,std,precision=#1}
\pgfmathprintnumber{#2}
}
\begin{document}
Let's see if this prints: \round{3.14159262}.
\end{document}