
Meu objetivo é criar um comando para armazenar números e calcular na tabela.
\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}
Mas, por algum motivo, tenho que carregar o número do código. Por exemplo, uso \newcommand{\BASESALARYAMOUNT}{50,000.00}
para substituir parte da mesa. Devido à existência de ,
, eu uso xstring
para excluí-lo com o seguinte comando. Mas não funciona.
\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}
Alguma solução? Obrigado
Responder1
Aqui está uma abordagem stringstrings
, se bem entendi o problema do OP. A macro \convertchar[q]{\BASESALARYAMOUNT}{,}{}
remove o caractere de vírgula \BASESALARYAMOUNT
e armazena o resultado \thestring
para recuperação posterior.
\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}
Responder2
Em vez de usar \newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
, descobri \StrDel{\BASESALARYAMOUNT{}}{,}[\baseamount]
que pode resolver o problema. Isso poderia excluir os ,
números e armazenar a nova string no arquivo \baseamount
.