如何像 fmtcount 那样将数字写成文本,但每个数字一个单词?

如何像 fmtcount 那样将数字写成文本,但每个数字一个单词?

使用包fmtcount,简单地\numberstringnum{1234}写出一千二百三十四。我找不到办法把它写成 除了加载大量 '\numberstringnum{}' 命令之外。

我缺少哪个包/扩展?

谢谢!

答案1

只需定义一个循环来分别格式化每个字符。

\documentclass{article}

\usepackage{fmtcount}
\newcommand\numberloop{}
% \expandafter to allow \newcommand\numbers{3456} \numberseq{\numbers}
\newcommand\numberseq[1]{\expandafter\numberloop#1\end}
\def\numberloop#1#2\end{%
   \numberstringnum{#1}\ifx\relax#2\relax\else\space\numberloop#2\end\fi}
\begin{document}
\numberseq{9}\\
\numberseq{1234}

\newcommand\numbers{3456}
\numberseq{\numbers}
\end{document}

相关内容