스프레드탭으로 명령어에 저장된 숫자 사용

스프레드탭으로 명령어에 저장된 숫자 사용

내 목표는 숫자를 저장하고 테이블에 계산하는 명령을 만드는 것입니다.

\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.

관련 정보