热衷于在 Freemarker 模板中将大数字读取为字符串

问题描述 投票:0回答:1

我正在尝试解析 xml 并从 xml 中读取大数值。我想在解析中将数字值视为 String ,但由于某种原因,我在解析 xml 后得到了不同的数字。我正在尝试从 xml 创建一个 json 文件。 Freemarker 是最新版本。

我的示例代码如下

<LOAN_IDENTIFIERS>
<LOAN_IDENTIFIER>
    <MINIdentifier>999910700212884131</MINIdentifier>
</LOAN_IDENTIFIER>
</LOAN_IDENTIFIERS>

Sample Code 

<#assign IDENTIFIER = LOAN[0][".//D:LOAN_IDENTIFIERS/.//D:LOAN_IDENTIFIER"]>
MtgId : ${fix(LOAN_IDENTIFIER)}

 <#function fix arr>
 <#list arr as m>
    {
     <#assign field = m[".//D:MINIdentifier"]!'null'>
     <#if field != 'null' >
        <#return field>
     </#if>
    }
   </#list>      
 </#function>

 Output 
 "MtgId ": 999910700212884096

 Expected output is :
 "MtgId ": 999910700212884131
freemarker
1个回答
0
投票

但它是一个字符串; FreeMarker 不会自动将其转换为数字。 (即使这样做,它默认使用

BigDecimal
-s,因此没有精度损失。)另外,对我来说,它返回 999910700212884131。

© www.soinside.com 2019 - 2024. All rights reserved.