문제
jspinner를 만들고 사용자 정의 형식으로 번호 디터를 설정합니다.
그러나 내가 무엇을하든 형식은 "" 내 로케일 (PT_BR)에 따르면 ","대신.
priceSpinner = new JSpinner();
priceSpinner.setEditor(new JSpinner.NumberEditor(priceSpinner, "0.00"));
"대신", ""를 사용할 수 있습니까? 소수 분리기로?
해결책
사용자 정의 형식 패턴을 지정하면 JRE에게 로케일을 무시하고 해당 특정 형식을 사용하도록 지시합니다. 단순히 소수점 이하 두 자리까지 숫자를위한 스피너를 따르는 경우 seteditor () 대신 setModel ()을 사용하여 숫자 편집자를 만듭니다.
JSpinner priceSpinner = new JSpinner();
priceSpinner.setModel(new SpinnerNumberModel(0.00, 0.00, 100.00, 0.01));
자신의 형식 패턴을 절대적으로 사용해야하는 경우 해당 패턴을 만든 후 해당 패턴의 소수 형식 기호를 조정할 수 있습니다.
JSpinner priceSpinner = new JSpinner();
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(priceSpinner, "0.00");
DecimalFormat format = editor.getFormat();
//better to use Locale.getDefault() here if your locale is already pt_BR
Locale myLocale = new Locale("pt", "BR");
format.setDecimalFormatSymbols(new DecimalFormatSymbols(myLocale));
priceSpinner.setEditor(editor);
제휴하지 않습니다 StackOverflow