Jasper reports 如何使用自定义分组和小数分隔符设置数字格式

Jasper reports 如何使用自定义分组和小数分隔符设置数字格式,jasper-reports,Jasper Reports,例如:我有9999.99,我想在我的报告中显示9.999,99 我尝试将自定义图案设置为#.##0,00;-###0,00,但它不工作 我的文本字段: 模式的工作取决于区域设置。分组分隔符和小数分隔符是在区域设置中定义的 如果希望不受区域(语言环境)设置的限制,可以使用以下脚本: package-utils; 导入java.math.BigDecimal; 导入java.text.DecimalFormat; 导入java.text.DecimalFormatSymbols; 导入java.ut

例如:我有9999.99,我想在我的报告中显示9.999,99

我尝试将自定义图案设置为#.##0,00;-###0,00,但它不工作

我的文本字段:


模式的工作取决于区域设置。分组分隔符和小数分隔符是在区域设置中定义的

如果希望不受区域(语言环境)设置的限制,可以使用以下脚本:

package-utils;
导入java.math.BigDecimal;
导入java.text.DecimalFormat;
导入java.text.DecimalFormatSymbols;
导入java.util.Locale;
公共类CustomDecimalFormatter{
公共静态字符串格式(BigDecimal值、字符串模式、字符小数分隔符、字符分组分隔符){
DecimalFormatSymbols otherSymbols=新的DecimalFormatSymbols(Locale.getDefault());
其他符号。设置小数分隔符(小数分隔符);
其他符号。设置groupingSeparator(groupingSeparator);
DecimalFormat df=新的DecimalFormat(模式、其他符号);
返回df.format(值);
}
}
此scriptlet允许设置模式、自定义分组和小数分隔符

jrxml文件:


我已经设置了分组和小数分隔符以及模式(
#、#0.00;#、#0.00-

结果将是:


注意


别忘了将带有sriptlet的类(jar)添加到类路径中。

您能发布字段和文本字段声明(jrxml的片段)吗?您可以在中看到:在这种情况下,文本将比屏幕截图更好。。。
$F{out\u balance}
字段的类型是什么?$F{out\u balance}是一个大小数,您使用的是JasperReports(3.x或更高版本?)和JDK的哪个版本?非常感谢!!但它只显示在jasper报告中。当我使用OpenERP插件jasper report时,它仍然显示分隔符为“”,您能帮助我检查OpenERP运行服务器上sriptlet的工作吗?我指的是CustomDecimalFormatter.format的工作method@Alex你能告诉我如何在OpenERP插件中添加java类文件(CustomDecimalFormatter.java)吗?我想添加自定义模块。