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

如何将字符串格式的十进制数四舍五入保留两位小数并格式化

FreeMarker 四舍五入保留两位小数实现方案

你当前使用的0.##格式符无法补后导0的核心原因是:#属于可选占位符,对应位置无数字时会自动省略,要实现固定保留两位小数、不足补0的需求,只需要将?string的参数替换为0.00即可。

格式符规则说明

  • 格式符中的0是强制占位符:对应位置没有数字时会自动补0
  • 格式符中的#是可选占位符:对应位置没有数字时会自动省略

最终可用代码

<#return value?number?string('0.00')/>

场景验证结果

对应你给出的测试用例,输出结果完全符合预期:

  • 2222.333333 → 2222.33
  • 51.22 → 51.22
  • 27.0012 → 27.00
  • 37.28945 → 37.29
  • 7891.1 → 7891.10

补充说明

如果从XML中读取的字符串可能存在非数字格式的异常值,可以先增加合法性判断避免转换报错,示例逻辑如下:

<#if value?is_number>
    <#return value?number?string('0.00')/>
<#else>
    <#-- 自定义异常值处理逻辑,比如返回默认值等 -->
</#if>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:06:04