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

stringstringsOP の問題を理解しているのであれば、を使用したアプローチは次のとおりです。マクロは\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

関連情報