只有java.text.NumberFormat中的正整数?

时间:2014-10-27 07:17:19

标签: java jfxtras

如何创建仅允许正整数的java.text.NumberFormat实例?

实际上,如果它只允许从1开始就会很好。

文档说正面/负面的格式除以“;”字符,但没有在负面格式或没有使用“;”不会禁用负数。

这些显然不会这样做:

NumberFormat nf = new DecimalFormat("#;");
// or
NumberFormat nf = new DecimalFormat("#");
// or
NumberFormat nf = new DecimalFormat("#;0");

2 个答案:

答案 0 :(得分:2)

另一种方法是创建自己的NumberFormat,它使用DecimalFormat从字符串转换为整数,然后对结果整数应用任何限制。

答案 1 :(得分:0)

结果jfxtras BigDecimalField (link to Javadocs)有一个设置允许的最小值的方法。这与只允许整数的NumberFormat相结合,允许我创建一个只接受大于或等于1的整数的字段。

bigDecimalFld.setFormat( new DecimalFormat( "#;" ) );
bigDecimalFld.setMinValue( new BigDecimal( 1 ) );