gpt4 book ai didi

java - Thymeleaf#numbers.formatInteger 奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 08:55:23 25 4
gpt4 key购买 nike

我正在使用 spring mvc 和 thymeleaf 作为模板引擎为 Web 应用程序开发用户故事。

我的 Controller 向我的 View 传递一个对象,该对象包含一个名为 quantite 的 BigDecimal 字段。即使它是一个 BigDecimal,我也需要将它呈现为一个整数,因为它永远不能有小数部分,所以我的目标是将 BigDecimal 呈现为 50.00 到 50 我在 View 中呈现它Thymeleaf 使用以下语法。

<span th:text="${#numbers.formatInteger(placAction.quantite,2,'POINT')}"></span> 

这意味着我想将数字格式化为整数以显示最少两位数并将点用作千位分隔符。

下图显示了我得到的结果

format not applied

所以格式没有正确应用。当我测试这种行为时,我注意到向表达式中添加文字会引发数字的正确呈现。例如,我这样更改了之前的表达式:

<span th:text="${#numbers.formatInteger(placAction.quantite,2,'POINT')} + ' (no units)'"></span>

这是一张展示渲染效果的图片

format correctly applied

如您所见,格式已正确呈现。我不明白这种奇怪的行为,似乎 Thymeleaf 不应用 #numbers.formatInteger 直到我将其结果与乱码相加,并且仅当乱码不为空白(仅由空格组成)时我也测试过

<span th:text="${#numbers.formatInteger(placAction.quantite,2,'POINT')} + ' '"></span>

但是并没有产生预期的结果。每个向表达式添加非空白文字的更改都会正确呈现它,但随后我有一个不需要的附加文本,但当我删除它时,呈现又不正确。因此,非常欢迎任何解决此问题的帮助。

最佳答案

如果你使用的是 thymeleaf 2.0 版本,试试这个

<span th:text="|${#numbers.formatInteger(placAction.quantite,2,'NONE')}|"></span>

关于java - Thymeleaf#numbers.formatInteger 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29031016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com