我正在创建 JSpinner 并设置具有自定义格式的 NumberEditor。
但无论我做什么,格式都使用“.”。而不是“,”,不根据我的语言环境(pt_BR)。
priceSpinner = new JSpinner();
priceSpinner.setEditor(new JSpinner.NumberEditor(priceSpinner, "0.00"));
是否可以使用“,”代替“.”作为小数点分隔符?
通过指定自定义格式模式,您可以告诉 JRE 忽略您的区域设置并使用该特定格式。如果您只是想将数字旋转到小数点后两位,请使用 setModel() 而不是 setEditor(),它将为您创建一个 NumberEditor:
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)