NumberField
数値入力用フィールドを提供します<input type='text'>。
NumberFieldは、NumberFormatを使用して、入力文字列を整形、解析、検証します。文字列フォーマットは、setNumberFormat(NumberFormat)メソッドを用いるかsetPattern(String)メソッドで文字列パターンを渡すかで設定できます。
NumberFieldが検証されると、NumberFormatに基づき入力文字列は解析され、フィールド内の文字列の値は整形済みのものになります。
"#,##0"というパターンを指定した場合、ユーザーが"2.54"と入力したら結果はNumber型の3になります。このようなケースではNumberFieldは入力を妥当とし、フィールドを不適切と判断しません。ユーザーが入力した文字列は、検証を外すか、Field.getValue()メソッドを呼ぶことで確認できます。
このコントロールに対し、setNumber(Number)メソッドで値がセットされた場合、このフィールドの値もまた、整形済みの数値になります。getNumber()メソッドが返す値も同様に整形済みの数値です。setNumber()で代入したもともとの値ではありません。この整形を回避するにはsetValue()メソッドを使用してください。
NumberFieldはJavaScriptのonkeypress()メソッドやdoubleFilter()メソッドでユーザーが不適切な文字を入力するのを撥ねます。この数値入力フィルタリングを実施するには、PageImportsをページテンプレートのヘッダーに記述します。
例
NumberFieldでは、右詰になっています。Field.setTextAlign(String)を参照してください。
W3C HTMLのINPUTに関するリファレンスもあわせて確認してください。