Pattern regex = Pattern.compile("^\\d{0,8}\\.\\d{0,4}$");
動作していますが、5000 などの値を入力すると動作するはずです。基本的に有効な値は「99999999.9999」以下である必要があります。
値が「123456789」の場合は無効です。
小数点は必須ではありません。
助けてください。
すべての浮動小数点数には多くの異なる表現(、、、100
など)があるため100.0
、数値1e2
を解析してdouble
から、数値比較を使用して、目的の範囲内にあるかどうかを確認することをお勧めします。
小数部をオプションにする
^\d{0,8}(\.\d{0,4})?$
でも私はあなたが意味するの12345678
は
^\d{0,9}(\.\d{0,4})?$
しかし、私は1
小数点以下の数字を少なくとも持つことを提案しているので、ユーザーが入力しようとする123.
と失敗します
^\d{0,9}(\.\d{1,4})?$