使用 Spreadtab 命令中存储的数字

使用 Spreadtab 命令中存储的数字

我的目标是创建一个命令来存储数字并在表中计算。

\begin{table}[h]
  \npthousandsep{,}
  \STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
                        & @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
    @Base Salary (SGD)  & 50000.00                      & 60000.00                  & c2-b2\\ \hline
\end{spreadtab}
\end{table}

但出于某种原因,我必须从代​​码中加载数字。例如,我使用\newcommand{\BASESALARYAMOUNT}{50,000.00}替换部分表格。由于 的存在,,我使用xstring以下命令将其删除。但它没有运行。

\newcommand{\BASESALARYAMOUNT}{50,000.00}
\newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
\begin{table}[h]
  \npthousandsep{,}
  \STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
                        & @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
    @Base Salary (SGD)  & \BASESALARYAMOUNT             & 60000.00                  & c2-b2\\ \hline
\end{spreadtab}
\end{table}

有什么解决办法吗?谢谢

答案1

如果我理解了原帖者的问题,这里有一个使用 的方法stringstrings。宏\convertchar[q]{\BASESALARYAMOUNT}{,}{}会从 中删除逗号字符\BASESALARYAMOUNT,并将结果存储在 中,\thestring以便以后调用。

\documentclass{article}
\usepackage{spreadtab,numprint,stringstrings}
\begin{document}
\newcommand{\BASESALARYAMOUNT}{50,000.00}
\convertchar[q]{\BASESALARYAMOUNT}{,}{}
\begin{table}[h]
  \npthousandsep{,}
  \STautoround*{0}
\begin{spreadtab}{{tabular}{| l | r | r | r |}} \hline
                        & @\textbf{Current Arrangement} & @\textbf{New Arrangement} & @\textbf{Difference} \\ \hline
    @Base Salary (SGD)  & \thestring            & 60000.00                  & c2-b2\\ \hline
\end{spreadtab}
\end{table}
\end{document}

在此处输入图片描述

答案2

\newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}我发现,不使用\StrDel{\BASESALARYAMOUNT{}}{,}[\baseamount]可以解决问题。这可以删除,数字中的 并将新字符串存储在 中\baseamount

相关内容