我们使用velocity作为模板。我们使用NumberTool格式化vm文件中的数字。
例如
$!{NUMBER.format('#,## 0',$!{amount})}円
预期输出为例如9,900円。它几乎占99.9999%的情况。但有时例如在几个月内它会在我们的网页中显示为9.900。。
有没有人遇到同样的问题? NumberTool中是否存在与Locale或其他问题相关的错误?
答案 0 :(得分:1)
小数分隔符可以取决于区域设置。
为避免这种情况,您可以为数字工具配置特定的区域设置。例如,使用tools.xml
文件时:
<tool key="number" class="org.apache.velocity.tools.generic.NumberTool" locale="en_US"/>
或者您可以使用Java指定区域设置:
numberTool.setLocale("en_US")
答案 1 :(得分:0)
或您可以将您选择的语言环境设置为
VelocityContext context = new VelocityContext();
NumberTool nt = new NumberTool();
HashedMap vp = new HashedMap();
vp.put("locale",new Locale("en","IN"));
nt.configure(vp);
context.put("numberTool", nt);