用简单的数学运算替换值

用简单的数学运算替换值

我有一张表格,在每一行中,我都有一个值列表,现在我需要将每个值更改为其一半(用替换表格中的每个单元格值value/2)。

现在,可以手动计算一半并将它们放在表中,但我想知道是否有办法在乳胶内部进行简单的数学运算,以便轻松替换值。

注意:如果在乳胶中可能的话,我正在寻找就地改变。

\small{$\pm$ std} & 17.28 & 25.82 & 24.85 & \textbf{40.62} & 33.99 & 42.13 & 32.7  & 21.46 & 17.64 \\

答案1

您可以使用collcellxparse将数字更改为\fpeval{round(<number>/2,2)}

\documentclass{article}
\usepackage{xparse,xfp,collcell}

\ExplSyntaxOn
\NewDocumentCommand{\halveentry}{m}
 {
  \tl_set:Nn \l_tmpa_tl { #1 }
  \regex_replace_once:nnN { ([0-9]*\.+[0-9]*) } { \c{fpeval}\cB\{round(\1/2,2)\cE\} } \l_tmpa_tl
  \tl_use:N \l_tmpa_tl
 }
\ExplSyntaxOff

\begin{document}

Original

\begin{tabular}{l *{9}{r}}
\small $\pm$ std & 17.28 & 25.82 & 24.85 & \textbf{40.62} & 33.99 & 42.13 & 32.7  & 21.46 & 17.64 \\
\end{tabular}

Halved

\begin{tabular}{l *{9}{>{\collectcell\halveentry}r<{\endcollectcell}}}
\small $\pm$ std & 17.28 & 25.82 & 24.85 & \textbf{40.62} & 33.99 & 42.13 & 32.7  & 21.46 & 17.64 \\
\end{tabular}

\end{document}

在此处输入图片描述

如果不想四舍五入到小数点后两位,请使用 just\1/2而不是 of 。round(\1/2,2)

答案2

您可以使用类似的软件包电子表格, 或者计算表用于简单的数学运算。

但如果您想就地做出改变,我认为没有任何办法。

相关内容