千位分隔符 thymeleaf:使用撇号

Thousands separator thymeleaf: use apostrophe

我正在使用 thymeleaf 来呈现我的观点。 是否可以使用 '(撇号)作为千位分隔符? 示例:我想要的是将以下示例中的 WHITESPACE 替换为撇号的值。

<span th:text="${#numbers.formatDecimal(value, 5, 'WHITESPACE', 2, 'POINT' )}"

是否有撇号的 NumberPointType 或其他解决方案来实现这样的格式:1'000.00

如果您深入研究 enum org.thymeleaf.util.NumberPointType 的源代码,您将看到标准 #numbers.formatDecimal 唯一可用的选项是..

public enum NumberPointType {
    POINT("POINT"),
    COMMA("COMMA"),
    WHITESPACE("WHITESPACE"),
    NONE("NONE"),
    DEFAULT("DEFAULT");
...

所以我更喜欢你在你自己的代码中创建一个自定义方法,例如作为 beanutility object,并创建你自己的函数来根据需要格式化小数.

更新

public class UIutil {

/**
 * Formats a BigInteger to a thousand grouped String
 * @param number
 * @return
 */
public static String formatNumber (BigInteger number) {
    return String.format("%,d", number);
}

}

分配:

context.setVariable("formatter", new UIutil());

致电:

th:text="${formatter.formatNumber(value)}"