문제

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top