当我在以下代码中使用整数时,它可以正常工作。但是使用分数(例如 4.7)时,会出现错误。
\documentclass{minimal} \usepackage{fmtcount}
\begin{document}
\numberstringnum{4}
\numberstringnum{4.7}
\end{document}
我该如何解决这个问题
答案1
您必须在句点处拆分数字,并将其用于\numberstringnum
两个部分。
\documentclass{article}
\usepackage{fmtcount,xparse}
\NewDocumentCommand{\spellamount}{>{\SplitArgument{1}{.}}m}{%
\dospellamount#1%
}
\NewDocumentCommand{\dospellamount}{mm}{%
\numberstringnum{#1}
\IfValueT{#2}{%
\spellcomma\
\expandafter\numberstringnum\expandafter{%
\number\numexpr\ifnum#2<10 10*\fi #2\relax
}%
}%
}
\newcommand{\spellcomma}{comma}% modify to suit
\begin{document}
\spellamount{8}
\spellamount{8.7}
\spellamount{8.75}
\end{document}