【发布时间】:2012-10-09 19:09:26
【问题描述】:
我必须在 java 的微调器中将 1000 值显示为 1.000,默认情况下显示为 1,000。但在欧洲地区,数字应该是 1.000,00 格式而不是 1,000.00 。有人可以帮我弄这个吗。我正在使用以下代码:
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner, pattern);
spinner.setEditor(editor);
并使用模式作为"##.##0",但这是抛出异常。
我可以为此编写通用代码,它可以根据语言环境(即 en、fr、pt 等)处理数字格式吗?
【问题讨论】:
-
没有像欧洲语言环境这样的东西。欧洲的每个国家/地区都是单独的交易,因此不共享区域设置。 ;-)
-
默认显示为 1,000 hmm ... 通常情况下,格式是本地化的,这意味着您机器上的默认语言环境是 jdk 不支持使用逗号的语言环境或您的机器语言环境。所以问题是:你的语言环境是什么?
-
我正在从服务器获取数据,服务器语言环境是法语。
-
简单地说,如果我们暂时忘记语言环境,我需要做些什么才能在微调器中将 1,000 变为 1.000。
-
您不能忘记语言环境,这就是重点 :-) 您希望将值格式化为适合 a 语言环境。因此,首先您必须决定 ui 应该显示的 哪个 语言环境。通常,这是客户端计算机的默认设置。如果你想在不同的语言环境中显示它,你必须在不同的语言环境中使用格式/ter。
标签: java swing localization number-formatting jspinner