Locale locale = new Locale("zh", "CN");
templateParameters.put("REPORT_LOCALE", locale); //A map to pass to report
Locale locale = java.util.Locale.CHINA;
NumberFormat.getCurrencyInstance($P{REPORT_LOCALE}).format($P{Param_Name})
如果有人能指出错误或提供一些建议,我将非常感谢。
我相信你的问题与字体支持有关。
我们应该在使用JRPDFExporter的情况下使用字体扩展。
我试着使用支持中文的字体,在这种情况下一切正常。我不知道为什么使用一大堆其他字体没有帮助
Map<String, Object> params = new HashMap<>();
params.put(JRParameter.REPORT_LOCALE, Locale.CHINA);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource());
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Show currency" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="value" class="java.lang.Double" isForPrompting="false">
<defaultValueExpression><![CDATA[1234.567]]></defaultValueExpression>
</parameter>
<title>
<band height="70">
<textField>
<reportElement x="10" y="10" width="300" height="15"/>
<textElement>
<font fontName="Sharp Dawn"/>
</textElement>
<textFieldExpression><![CDATA[NumberFormat.getCurrencyInstance(new Locale("zh", "CN")).format($P{value})]]></textFieldExpression>
</textField>
<textField>
<reportElement x="10" y="25" width="300" height="15"/>
<textElement>
<font fontName="Sharp Dawn"/>
</textElement>
<textFieldExpression><![CDATA[NumberFormat.getCurrencyInstance($P{REPORT_LOCALE}).format($P{value})]]></textFieldExpression>
</textField>
<textField>
<reportElement x="3" y="40" width="300" height="15"/>
<textFieldExpression><![CDATA[NumberFormat.getCurrencyInstance($P{REPORT_LOCALE}).format($P{value})]]></textFieldExpression>
</textField>
<textField>
<reportElement x="3" y="55" width="300" height="15"/>
<textFieldExpression><![CDATA[NumberFormat.getCurrencyInstance(new Locale("zh", "CN")).format($P{value})]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>
问题内容: 我正在使用我给定的语言环境获取自定义货币格式。但是,这始终包含我不需要的货币符号,我只想要给定语言环境的正确货币数字格式而没有货币符号。 做一个抛出一个异常.. 问题答案: 以下作品。这有点丑陋,但可以履行合同: 您还可以从货币格式中获取模式,删除货币符号,然后从新模式中重构新格式:
我在运行这个代码时遇到了一个问题。我总是收到这样的消息:“文档没有页面”,在pdf文件中有一个空白页。 注意:我使用的是NetBeans IDE7.2测试版。 null 这是我的代码: 我真的很感激你的帮助。
我试图在jrxml中创建表格。表格中的列数可能会很大,当我试图以PDF格式导出报告时,由于列数很大,数据变得不可读。有什么方法可以让我们以更大的页面尺寸(如A3)导出报告,或者在A4尺寸上增加滚动功能。注意:报告只需要导出为pdf格式,而不是CSV或任何其他格式。 谢谢,任何帮助感谢。
问题内容: 我正在尝试根据语言环境获取货币符号。但是,它不是返回符号,而是返回代码。我有一个摘要: 对于 Locale.US, 它给出了符号,但是如果我替换 与 然后,用符号代替国家代码。为什么会这样以及如何获取符号? 编辑: 在寻找了一些答案之后,我想清除一下,设置一些特定的默认本地不是解决方案,因为 我需要一次显示所有可用的符号 。 例如 会给我欧元符号,但对于美元,它将给出代码,而不是美元符
问题内容: 存在以下格式的一些 现有代码 ,用于格式化数值: 请注意,我 无法更改代码本身 -我只能更改提供给代码的格式模式。 输出默认语言环境的货币符号的格式模式是什么?本质上,我想实现以下输出: 问题答案: 考虑到您所给的限制,我认为这是不可能的。要获取当前语言环境的货币符号,您需要最少的代码。 如果绝对没有办法向程序中添加代码,则最好使用已建立的符号“ currency ”(¤)。正是出于这
我得到的设备与非英语语言环境,英语货币格式如下: 1 $ 如果我有英语语言环境,我会得到欧元,比如: € 1 使用 在留档中找到: http://developer.android.com/reference/java/util/Currency.html#getSymbol() 返回区域设置中该货币的本地化货币符号。也就是说,给定“USD”和区域设置。在美国,你会得到“$”,但如果是“USD”和