
Mi objetivo es crear un comando para almacenar números y calcularlos en la tabla.
\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}
Pero por alguna razón tengo que cargar el número del código. Por ejemplo, lo uso \newcommand{\BASESALARYAMOUNT}{50,000.00}
para reemplazar parte de la mesa. Debido a la existencia de ,
, suelo xstring
eliminarlo con el siguiente comando. Pero no 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}
¿Alguna solución? Gracias
Respuesta1
Aquí hay un enfoque stringstrings
, si entiendo el problema del OP. La macro \convertchar[q]{\BASESALARYAMOUNT}{,}{}
elimina el carácter de coma \BASESALARYAMOUNT
y almacena el resultado \thestring
para recuperarlo más adelante.
\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}
Respuesta2
En lugar de usar \newcommand{\basesalaryamountno}{\StrSubstitute{\BASESALARYAMOUNT{}}{,}{}}
, descubrí \StrDel{\BASESALARYAMOUNT{}}{,}[\baseamount]
que puede resolver el problema. Esto podría eliminar los ,
números y almacenar la nueva cadena en el archivo \baseamount
.