1

可能重复:
JSpinner 编辑器语言环境

我必须在 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 等)处理数字格式吗?

4

1 回答 1

2

尝试显式创建或获取语言环境:

JSpinner spinner = new JSpinner();
String pattern = "0.000"; // valid format
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spinner, pattern);
DecimalFormat format = editor.getFormat();
Locale locale = new Locale("ru", "RU"); // create your specific locale
DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols(locale);
format.setDecimalFormatSymbols(decimalFormatSymbols);
spinner.setEditor(editor);
于 2012-10-19T08:15:21.660 回答