在FreeMarker页面中,获取长类型值的逗号可以通过以下方法实现:
long longValue = 1234567890L;
String longString = String.valueOf(longValue);
String formattedLongString = "";
for (int i = 0; i< longString.length(); i++) {
formattedLongString = longString.charAt(i) + formattedLongString;
if (i > 0 && (longString.length() - i) % 3 == 0) {
formattedLongString = "," + formattedLongString;
}
}
<#-- 假设将转换后的字符串赋值给变量formattedLongValue -->
${formattedLongValue}
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModelException;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException, TemplateException {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_31);
configuration.setClassForTemplateLoading(Main.class, "/");
Template template = configuration.getTemplate("template.ftl");
Map<String, Object> dataModel = new HashMap<>();
dataModel.put("addCommas", new AddCommasMethod());
dataModel.put("longValue", 1234567890L);
StringWriter stringWriter = new StringWriter();
template.process(dataModel, stringWriter);
System.out.println(stringWriter.toString());
}
public static class AddCommasMethod implements freemarker.template.TemplateMethodModelEx {
@Override
public Object exec(List arguments) throws TemplateModelException {
if (arguments.size() != 1) {
throw new TemplateModelException("Wrong number of arguments");
}
if (!(arguments.get(0) instanceof Number)) {
throw new TemplateModelException("Argument must be a number");
}
Number number = (Number) arguments.get(0);
String numberString = String.valueOf(number);
StringBuilder formattedNumberString = new StringBuilder();
for (int i = 0; i< numberString.length(); i++) {
formattedNumberString.insert(0, numberString.charAt(i));
if (i > 0 && (numberString.length() - i) % 3 == 0) {
formattedNumberString.insert(0, ",");
}
}
return formattedNumberString.toString();
}
}
}
在FreeMarker模板中使用自定义函数:
<#-- 假设将长类型值赋值给变量longValue -->
${addCommas(longValue)}
通过以上方法,可以在FreeMarker页面中获取长类型值的逗号。
领取专属 10元无门槛券
手把手带您无忧上云