[
https://issues.apache.org/jira/browse/FREEMARKER-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17194824#comment-17194824
]
Dániel Dékány commented on FREEMARKER-157:
------------------------------------------
It should work, if {{map.key}} is indeed always a number. So one possible
reason of the error is that the {{map.key}} is, at least sometimes, not a
number (nor a date/time). Because then {{?string}} will return a pure string
({{f.t.SimpleScalar}}), which doesn't support the dot operator. Can you check
that? Something like this:
{code:java}
<#if map.key?is_number>${map.key?string.@base_8}<#else><#stop "map.key should
be a number, but was: ${map.key}"></#if>
{code}
> Custom number formats
> ---------------------
>
> Key: FREEMARKER-157
> URL: https://issues.apache.org/jira/browse/FREEMARKER-157
> Project: Apache Freemarker
> Issue Type: Bug
> Components: documentation
> Affects Versions: 2.3.28, 2.3.29, 2.3.30
> Reporter: G Kal
> Priority: Major
> Labels: customNumberFormats
>
> Followed the exact steps as described at the project's
> [documentation|https://freemarker.apache.org/docs/pgui_config_custom_formats.html#pgui_config_custom_formats_ex_model_aware]
> but I cannot make my custom number formats to work.
> For example when I run the template bellow:
> {code:java}
> ${map.key?string.@base_8}
> {code}
> I get this error:
>
> {code:java}
> For "." left-hand operand: Expected a hash, but this has evaluated to a
> string (wrapper: f.t.SimpleScalar):
> ==> map.key?string
> {code}
> I tried various combinations of . and @ operator, tried to wrap my map inside
> () but nothing seems to work.
>
> Setting the number format globally (<#setting number_format="@base_8">)
> works, but this is not an option for me, as well as the model - aware
> formats. Is this functionality broken or removed, can I at least have a
> custom format function ? How can I achieve this?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)