首页 > 解决方案 > freemarker中的数字格式问题 - 在小数点后获得四舍五入

问题描述

我正在使用 Freemarker 模板,我有一个十进制值:

a = 23.65

我只想将上述值检索为:

a = 23.6 <#-- Extract first number after decimal point -->

我使用过 number_format ex :

<#setting number_format="0.#">

但它将小数点后的值四舍五入为23.7. 有人知道如何在不四舍五入的情况下提取小数点后的第一个数字吗?

标签: javafreemarkersmooks

解决方案


您需要使用扩展格式选项来指定roundingMode. 请注意,您至少需要 FreeMarker 2.3.24 才能使这些工作。

默认情况下,freemarker 使用halfEven舍入模式。对于您的情况,您可以尝试指定down

${(23.65)?string(",##0.0;; roundingMode=down")}

您可以在此处在线查看此表达式。


推荐阅读