当前位置: 首页 > 知识库问答 >
问题:

FreeMarker:将日期从科学符号转换为数字

汪玮
2023-03-14
{"fields": [
                [
                    {
                        "contentType": "application/json",
                        "date": 1.563457325E9,
                        "id": "abc",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563426843E9,
                        "id": "def",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563454092E9,
                        "id": "ghi",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563425862E9,
                        "id": "jkl",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563426128E9,
                        "id": "mno",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563453696E9,
                        "id": "pqr",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563426813E9,
                        "id": "stu",
                        "size": 0.0
                    },
                    {
                        "contentType": "application/json",
                        "date": 1.563426177E9,
                        "id": "vwx",
                        "size": 0.0
                    }
                ]
            ]
        }
<#assign j=fields[0]>
<#list j?sort_by("date") as i>
  ${i.date}: ${i.id}
</#list>

如何将日期字段从科学符号转换为freemarker中的数字,然后根据该日期字段的值进行sort_by?

如果我能从Freemarker文档注释中获得一些指针或任何特定的参考,我将很高兴。

共有1个答案

杜俭
2023-03-14

由于数据模型包含嵌套列表,所以我们必须在模板中采用嵌套列表指令,也如下所示。

  <#list fields as field>
    <#list field?sort_by("date") as innerField>
      ${innerField.date?replace(",", "")} : ${innerField.id}
    </#list>
    </#list>

下面的代码段将科学符号转换为数字。

<#assign scientificFormat = "1.563426177E9">
<#assign number = scientificFormat?number?replace(",", "")>
${number}

来源:https://freemarker.apache.org/docs/ref_builtins_sequence.html

 类似资料:
  • 很多问题都解决了这个问题,但没有一个解决方案能完全满足我的需要。 我有一个数据框,有两列数字,每列10-20位。这些实际上是ID,我想将它们连接起来。看起来最好先将值转换为字符串。 然而,当使用转换时,熊猫保留了科学符号,这是不会飞的。 我尝试过的事情: 尝试:dtype arg('str')或转换器(使用)在 结果:

  • 在我的例子中,其中一个xml标记值是"09031454866678e6"。而在中转换为json对象e被认为是科学符号,并转换为“9.031454866678E6”。 我应该如何避免这种转换并确保它被解析为字符串而不是数字? 在代码中: 其中resp是xml字符串。 设置值时失败 setobject方法如下所示 项目中使用的maven依赖项是 我期望输出与原始值“09031454866678e6”相

  • 我使用python从API中提取数据,并将其存储在数据帧中。我以CSV格式导出数据框,当我使用excel打开它时,一些列(有非常大的数字)会转换为科学符号,我不希望这样。我希望数字保持整数格式。 我尝试在to_csv命令中使用浮点格式选项,但也没有帮助。 这是我的导出命令: 注意:数字在数据框中以整数格式显示。此外,当使用记事本打开csv文件时,数据将以正确的格式显示。 电流输出: 期望输出:

  • 我使用Spring靴和Spring4。 我尝试使用Java 8 LocalDate。 在json中输入日期 出生日期:“1969-12-29” 在服务器端这个领域我有 我得到这个错误 组织。springframework。http。转换器。HttpMessageNoteableException:无法读取文档:无法从字符串值('1969-12-29')实例化类型为[简单类型,类java.time.

  • 问题内容: 是否可以将“ 20110210”转换为2011-02-10? 我试过,我得到 我究竟做错了什么? 我有新的SimpleDateFormat(“ yyyy-MM-dd”)而不是新的SimpleDateFormat(“ yyyyMMdd”) 问题答案: 这对我有用,不会引发异常: