数字格式化、addtocounter 和 calc 包

数字格式化、addtocounter 和 calc 包

我一直受到以下问题的困扰:

我正在制作发票模板LaTeX。我用它\addtocounter来计算小计、税和总计等值。这很好用,直到值包含小数(当然,这在发票中经常发生)。为了解决这个问题,我使用包来calc执行:\addtocounter{subtotal}{\real{19.95}}。这也很好用。

但是,当我加载包numprintsiunitx使我的数字在发票表中的十进制上正确格式化时,我收到错误:

/Invoices/A4.tex:22 Missing number, treated as zero \addtocounter{subtotal}{\real{19.95}}

一旦我删除这两个包,一切就恢复正常了。

我的问题:有没有办法格式化表格中的数字,同时仍然能够使用十进制数计算总数?

您可以在这里找到代码:https://www.overleaf.com/4958478dccytf#/15308055/ 请注意,代码中包含一个invoice.cls,并且可以在主页第 22 行和 23 行找到该问题的示例。

答案1

\real宏似乎arithmetics迫切需要,即使用1*\real{19.95}等。

但无论如何它都会被截断!

\documentclass{article}

\usepackage{siunitx}
\usepackage{numprint}
\usepackage{calc}


\newcounter{foo}
\begin{document}

\addtocounter{foo}{5*\real{1.7}}

\thefoo

\end{document}

有关的:是否有可用于存储非整数的计数器或变量?

相关内容