2

java.text.NumberFormat正の整数のみを許可するインスタンスを作成するにはどうすればよいですか?

本当は1からだけ許可すればよかったのに。

ドキュメントによると、正/負の書式は「;」で区切られています。ただし、否定的な書式設定に何も入れないか、単に ";" を使用しないでください。負の数を無効にしません。

これらは明らかにそれをしません:

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

2 に答える 2

2

もう 1 つのアプローチは、DecimalFormat を使用して文字列から整数に変換する独自の NumberFormat を作成し、その結果の整数に制限を適用することでした。

于 2014-10-28T06:21:07.527 に答える
0

jfxtras BigDecimalField (Javadocs へのリンク)は、許可される最小値を設定する方法があります。これを、整数のみを許可する NumberFormat と組み合わせると、1 以上の整数のみを受け入れるフィールドを作成できます。

bigDecimalFld.setFormat( new DecimalFormat( "#;" ) );
bigDecimalFld.setMinValue( new BigDecimal( 1 ) );
于 2014-10-27T21:34:24.623 に答える