在 lualatex 中对数字进行舍入

在 lualatex 中对数字进行舍入

我从 LuaLatex 输出了一个变量,如下所示:

n = 1.712371273
directlua{tex.print(n)}

将此数字四舍五入到小数点后 2 位最简单的方法是什么?

答案1

只需使用 Lua 提供的字符串格式即可。您必须\luaexecluacode包中使用才能%在 Lua 语句中使用(您仍然必须对其进行转义)。

\documentclass{article}
\usepackage{luacode}
\begin{document}

\luaexec{
  n = 1.712371273
  tex.print(string.format("\%.2f",n))
}

\end{document}

答案2

唯一的问题是%

\documentclass{article}
\usepackage{ucharcat}

\edef\percent{\Uchar`\% 12}

\begin{document}

\directlua{
  n = 1.712371273
  tex.print(string.format("\percent.2f",n))
}

\end{document}

这将打印

1.71

相关内容