如何创建仅允许正整数的java.text.NumberFormat
实例?
实际上,如果它只允许从1开始就会很好。
文档说正面/负面的格式除以“;”字符,但没有在负面格式或没有使用“;”不会禁用负数。
这些显然不会这样做:
NumberFormat nf = new DecimalFormat("#;");
// or
NumberFormat nf = new DecimalFormat("#");
// or
NumberFormat nf = new DecimalFormat("#;0");
答案 0 :(得分:2)
另一种方法是创建自己的NumberFormat,它使用DecimalFormat从字符串转换为整数,然后对结果整数应用任何限制。
答案 1 :(得分:0)
结果jfxtras BigDecimalField (link to Javadocs)有一个设置允许的最小值的方法。这与只允许整数的NumberFormat相结合,允许我创建一个只接受大于或等于1的整数的字段。
bigDecimalFld.setFormat( new DecimalFormat( "#;" ) );
bigDecimalFld.setMinValue( new BigDecimal( 1 ) );