java - freemarker 中的数字格式问题 - 在小数后进行舍入

标签 java freemarker smooks

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

a = 23.65

我只想检索以上值:

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

我使用了 number_format ex:

<#setting number_format="0.#">

但是它将小数点后的值四舍五入为23.7。 有人知道如何提取小数点后的第一个数字而不进行四舍五入吗?

最佳答案

您需要使用extended formatting option为了指定一个roundingMode。 请注意,您至少需要 FreeMarker 2.3.24 才能正常工作。

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

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

这个表达你可以网上查一下here .

关于java - freemarker 中的数字格式问题 - 在小数后进行舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58645725/

相关文章:

datetime - Freemarker 是否有与 JodaTime 的集成?

java - 访问 Camel Freemarker ftl 中的 RequestParameters

java - Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

java - 如何使用指定的 Schema 将 Java 类序列化为 XML

java - 在 2 个线程唤醒之前,JFrame 不会显示组件

java - JComponent 显示完整尺寸或根本不显示

java - 无法访问 jboss 7.1.1 中资源的数据流

java - 具有单个类文件的 JVM Xbootclasspath

java - native 代码中的 Printf 仅出现在 java 应用程序的末尾