\numexpr 带括号/运算顺序

\numexpr 带括号/运算顺序

我感觉很傻。基本上我想用 \numexpr 除以加法的结果,例如:

(10 + 5) / 3

问题是,如果我在那里放括号,比如\numexpr (10+5)/3 \relax我的在线编辑器就会返回语法错误。到目前为止,我发现的唯一方法是这样做:

\numexpr \numexpr 10+5 \relax / 3 \relax

但说实话读起来很痛苦。有更好的方法吗?谢谢!

答案1

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

\inteval{(10+5)/3}

\end{document}

答案2

这是一个基于 LuaLaTeX 的解决方案。它假设您正在进行整数运算,主要是因为您的代码示例使用了\numexpr。如果结果不需要是整数值,则只需省略该math.floor部分。

\documentclass{article}
\newcommand\inteval[1]{\directlua{tex.sprint(math.floor(#1))}}
\begin{document}
\inteval{( 10 + 5 ) / 3 }
\end{document}

答案3

使用 PSTricks 的解决方案仅用于娱乐目的。

\documentclass[border=\dimexpr355pt/113\relax]{standalone}
\usepackage{pst-calculate}
\begin{document}

\pscalculate{(10+5)/2}

\end{document}

在此处输入图片描述

或者,如果您想要以分数形式获取输出,则可以使用名为 SageMath 的计算机代数系统,该系统可以通过sagetex 包从 LaTeX 调用,如下所示。需要额外设置,如果您需要,请告诉我。

\documentclass{standalone}
\usepackage{sagetex}
\begin{document}

$\sage{(10+5)/2}$

\end{document}

在此处输入图片描述

相关内容