You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BI Publisher Desktop的RTF模板中将数字格式化为拼写文字

BI Publisher RTF模板数字转英文拼写实现方案

两种常用实现方式,按你使用的版本选择即可:

方法1:使用原生to_cardinal函数(推荐,适配11g及以上版本)

BI Publisher内置了专门的基数词转换函数,无需额外编写代码,直接修改字段占位符即可:

  • 找到你要转换的数字字段占位符,比如原字段为<?TOTAL_AMOUNT?>
  • 调整为带转换逻辑的写法,指定英文语言参数:
    <?initcap(to_cardinal(TOTAL_AMOUNT,'en'))?>
    
  • 转换效果完全匹配你的需求:输入31返回Thirty One,输入125返回One Hundred Twenty Five。

如果需要处理带小数的金额,拆分整数和小数部分分别转换即可,示例:

<?initcap(to_cardinal(trunc(TOTAL_AMOUNT),'en'))?> Dollars And <?initcap(to_cardinal(round((TOTAL_AMOUNT - trunc(TOTAL_AMOUNT))*100),'en'))?> Cents

输入125.31会输出One Hundred Twenty Five Dollars And Thirty One Cents。

方法2:自定义XSLT模板(兼容11g以下旧版本)

如果你的BI Publisher版本较低不支持to_cardinal函数,可通过自定义转换模板实现:

  • 打开RTF模板,点击「BI Publisher」选项卡→「工具」→「编辑模板」进入XSLT编辑界面
  • 插入通用的数字转英文拼写XSLT模板片段即可直接复用
  • 字段处调用模板传入数字参数即可,调用示例:
    <xsl:call-template name="number-to-words">
      <xsl:with-param name="number" select="TOTAL_AMOUNT"/>
    </xsl:call-template>
    

该方案灵活性更高,可自行调整拼写规则,比如是否添加连字符、是否用and连接百位和十位等。


内容的提问来源于stack exchange,提问作者Zee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:01