如何去除數字中的前導零?

如何去除數字中的前導零?

我正在嘗試檢查用戶輸入(數字參數)中的前導零並將其刪除。我想知道這樣的命令是否由LaTeX2e或引擎之一(pdftex, )提供xetex

答案1

\number

參見egreg的評論,對於 -2147483647 到 2147483647 範圍內的整數的最簡單解:

\number000123⌴
\number-000456⌴

結果:123 和 -456

標記為 的空格結束了數字的解析,並防止數字在正常文字中出現時發生意外。

\csname此解決方案是可擴展的,可以在, \label,\typeout等內部使用。

包裹bigintcalc

該套件提供了一種可擴展的方法,用於從任意大的整數中刪除前導零。從文件中:

\bigintcalcNum {⟨x⟩}

巨集\bigintcalcNum將其參數轉換為標準化整數,沒有不必要的前導零或符號。結果與正規表示式相符:

0|-?[1-9][0-9]*

例子:

\usepackage{bigintcalc}% plain TeX: \input bigintcalc.sty
...
\bigintcalcNum{000123456789123456789123456789}
\bigintcalcNum{-000123456789123456789123456789}

結果:123456789123456789123456789 和 -123456789123456789123456789

巨集是可擴展的,該套件可以與許多 TeX 風格一起使用(LaTeX、plain TeX、iniTeX,...)

包裹siunitx

如果要列印該號碼,軟體包siunitx會提供許多選項來格式化該號碼。預設情況下,前導零被刪除:

\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{000123}; \num{-000456}
\end{document}

結果:123; -456

相關內容