速度数字格式问题
Velocity Number format issue
我们使用速度作为模板。我们使用 NumberTool 来格式化 vm 文件中的数字。
例如
$!{NUMBER.format('#,##0',$!{amount})} 円
预期产量例如为 9,900 日元。它适用于几乎 99.9999% 的情况。但有时,例如几个月一次,它在我们的网页上显示为 9.900 日元。
有人遇到同样的问题吗? NumberTool 中是否存在与语言环境或其他问题相关的错误?
小数点分隔符可能取决于区域设置。
为避免这种情况,您可以为数字工具配置特定的语言环境。例如,当使用 tools.xml
文件时:
<tool key="number" class="org.apache.velocity.tools.generic.NumberTool" locale="en_US"/>
或者您可以使用 Java:
指定语言环境
numberTool.setLocale("en_US")
或者您可以将您选择的语言环境设置为
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);
我们使用速度作为模板。我们使用 NumberTool 来格式化 vm 文件中的数字。
例如
$!{NUMBER.format('#,##0',$!{amount})} 円
预期产量例如为 9,900 日元。它适用于几乎 99.9999% 的情况。但有时,例如几个月一次,它在我们的网页上显示为 9.900 日元。
有人遇到同样的问题吗? NumberTool 中是否存在与语言环境或其他问题相关的错误?
小数点分隔符可能取决于区域设置。
为避免这种情况,您可以为数字工具配置特定的语言环境。例如,当使用 tools.xml
文件时:
<tool key="number" class="org.apache.velocity.tools.generic.NumberTool" locale="en_US"/>
或者您可以使用 Java:
指定语言环境numberTool.setLocale("en_US")
或者您可以将您选择的语言环境设置为
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);