Freemarker将int值显示为double值(例如,将0打印为0.00)

时间:2015-03-13 05:34:23

标签: freemarker

我正在尝试编写一个包含有关表格信息的freemarker模板文件。

我写过' $ {noRows}'在表格行计数的模板中 noRows是一个int值:

int noOfRows = myTable.getNumRows();
data.put("noRows", noOfRows);

noOfRows始终是一个整数值,但在输出文件中,它显示为double值,使用" .00"附加到它。

如何仅将值显示为整数。

2 个答案:

答案 0 :(得分:0)

如果值确实是整数,那么您需要做的就是

${noOfRows?string}

您还可以使用Java十进制数字格式语法:

${noOfRow?string["0"]}

参考:http://freemarker.org/docs/ref_builtins_number.html#ref_builtin_string_for_number

答案 1 :(得分:0)

显然,您的number_format设置设为0.00或类似。 (格式化数字时,FreeMarker并不关心Integer VS Double。它只有一个数字类型,并根据该设置格式化所有数据类型。)在FreeMarker配置的任何位置检查它。最后,您还可以在模板中设置此设置,例如<#setting number_format="0.##">。最后,至少,&#34; sev&#34;说,你可以单独指定每个地方的格式。