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

如何在现有Freemarker汇率处理代码中将小数位数限制为4位

实现方法

你使用的是FreeMarker模板语法,在原有字符清理逻辑后补充格式化步骤即可实现固定4位小数的需求,以下是两种常用实现方案:

方案1:四舍五入保留4位小数(通用推荐)

直接通过内置数值格式化函数处理,代码如下:
${record.exchangerate?string?replace('[^.,0-9]','','r')?number?string("0.0000")}

  • 新增的?number用于将清理后的纯数字字符串转为数值类型
  • ?string("0.0000")会将数值格式化为固定4位小数,自动对第5位小数做四舍五入,你的示例值0.85813707处理后输出为0.8581

方案2:截断保留4位小数(不执行四舍五入)

如果不需要四舍五入,直接舍去第4位之后的数值,用字符串截取实现:

<#assign cleanRate = record.exchangerate?string?replace('[^.,0-9]','','r')>
<#if cleanRate?contains('.')>
  ${cleanRate?substring(0, cleanRate?index_of('.') + 5)}
<#else>
  ${cleanRate}.0000
</#if>
  • 先判断清洗后的字符串是否包含小数点,包含的话直接截取到小数点后第4位,不包含则补4个0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:08