【发布时间】:2022-07-17 07:16:32
【问题描述】:
我想使用 freemarker 生成实例化 BigDecimal 的 java 代码。
BigDecimal 的值在生成时存在。
BigDecimal API 的工作方式如下:
BigDecimal copy = new BigDecimal(original.toString());
唉,freemarker 魔法对我的 original 值使用数字转换,所以这不起作用(在 freemarkter 模板中):
BigDecimal copy = new BigDecimal("${original?c}");
数字转换(百分比、数字、计算机...)都不起作用 - 最有趣的是 c/computer,因为如果值变得太大,它会输出 0。
在相当痛苦的情况下,我也许可以将 BigDecimal 包装在另一个对象中,它只给我一个 toString 而不是一个数字,所以 freemarker 可能会保持它的值不变并且我生成的 BigDecimal 是正确的,但这只是一个不得已。
也许有办法调用toString() 方法并将结果打印到目标文档中?
【问题讨论】:
标签: freemarker