XSLT怎么把数字转换成英文单词

admin 百科 14
XSLT无内置数字转英文函数,需用递归模板实现:先定义0–19和20–90映射表,再按三位分组(百十个),递归处理并添加thousand/million等量词。

XSLT怎么把数字转换成英文单词-第1张图片-佛山资讯网

XSLT 本身没有内置函数直接把数字转成英文单词(比如 123 → "one hundred twenty-three"),但可以通过递归模板手动实现。核心思路是:把数字按位拆解(个、十、百、千等),分别映射为对应英文单词,再组合拼接。

基础数字映射表

先定义 0–19 和 20–90 的英文单词,用 <variable></variable> 或外部 XML 映射文件存储。例如:

<xsl:variable name="ones">
  <word n="0">zero</word>
  <word n="1">one</word>
  <word n="2">two</word>
  ...
  <word n="19">nineteen</word>
</xsl:variable>
<p><xsl:variable name="tens">
<word n="2">twenty</word>
<word n="3">thirty</word>
...
<word n="9">ninety</word>
</xsl:variable>

登录后复制

递归处理三位一组

英文读数习惯按“百、十、个”为一组(如 123,456 → "one hundred twenty-three thousand four hundred fifty-six"),所以先将数字转为字符串,再从高位开始每三位切分,用递归模板分别处理每组,并加上 thousandmillion 等量词。

标签: word red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~