如何将 \num 与 expl3 变量一起使用?

如何将 \num 与 expl3 变量一起使用?

我仍在努力理解可扩展性及其对命令/功能的影响。

我使用了\newcommand而不是\NewDocumentCommand因为后者不可扩展 而且我没有使用受保护的函数 但该函数的结果仍然无法通过 进行评估\num。 我做错了什么?

\documentclass{article}

\usepackage{siunitx}

\ExplSyntaxOn

\fp_gzero_new:N \g__invoice_sum_fp 

\NewDocumentCommand{\resetinvoicesum}{}
{
    \fp_gzero_new:N  \g__invoice_sum_fp
}
\resetinvoicesum

\NewDocumentCommand{\addtoinvoicesum}{m}
{
    \fp_gadd:Nn \g__invoice_sum_fp { #1 }
}

\newcommand{\showinvoicesum}[1][default]
{
    \fp_eval:n { \g__invoice_sum_fp }
}

\ExplSyntaxOff 

\begin{document}
    
    \addtoinvoicesum{12}
    
    \showinvoicesum{}
    
    \num{\showinvoicesum}
    
\end{document}

相关内容