标题中全都说了。我想用2个小数转换String中的double。
我尝试了quarkus的例子:
@TemplateExtension(namespace = "str")
class StringExtensions {
static String format(String fmt, Object... args) {
return String.format(fmt, args);
}
static String reverse(String val) {
return new StringBuilder(val).reverse().toString();
}
}
这是我的模板
{str:format('%.2f', total)}
但是它总是导致NOT_FOUND。
唯一的方法是:
static String formatNumber(Double num) {
return String.format("%.2f", num);
}
并更改我的模板:
{total.formatNumber}
有更好的方法吗?我使用quarkus-rest-easy-qute和quarkus-qute扩展名是相同的。
答案 0 :(得分:1)
对于具有命名空间的扩展方法,如何处理可变参数存在错误。我刚刚创建了一个带有修复程序的 PR:https://github.com/quarkusio/quarkus/pull/14226。
一个丑陋的解决方法是在模板中使用额外的“虚拟”参数,例如{str:format('%.2f', total, 1)}
,并以指定格式忽略此参数。