問題タブ [inputformatter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
49 参照

flutter - TextEditingController を使用した後、テキストフィールド入力フォーマッターが機能しなくなりました

を使用するためにパターンフォーマッターパッケージを使用していますThousandsFormatter。したがって、 value がある場合10000000、自動的に として表示され10.000.000ます。最初はこのようなコードで、意図したとおりに動作します

そして、私はこのようないくつかのボタンを作ります

ここに画像の説明を入力

ご覧のとおり、$4000 を選択すると、テキストフィールドが表示4000されます。4.000

TextEditingControllerボタンから値を選択した後、Textfield に値を入力するために使用するため、TextField は次のようになります。

これらのボタンの1つをタップすると、build再び呼び出されるので、このようにテキストフィールドにテキストを設定します

ThousandsFormatterの後に が機能しなくなった理由がわかりません。_textEditingController.valueキーボードを使用して数値を入力しても、ThousandsFormatterも機能しません。

公称コントローラーはこのようなものです

0 投票する
1 に答える
32 参照

java - Java - 次の入力形式「operand operator operand」を検証する方法 (例: 1.4 * 5)

コードのどこが間違っているのかを理解しようとして、頭を悩ませています。ユーザーに次の形式を挿入するように求めています。

どこ:

  • LeftOperand - 任意の int または float 数値にすることができます
  • 演算子 - +、-、*、または / を指定できます
  • RightOperand - 任意の int または float 数値にすることができます

3 +/-/*// 5検索していくつかの正規表現を見つけましたが、次のもの以外はエラーを返すため、それらはすべてうまくいかないようです。有効である必要があります:

  • 1 + 3
  • 1 / 4
  • 1.3 - 4
  • 4 - 5.3
  • 123 * 3434
  • 12.34 * 485

しかし、実際にはそれらだけが有効で、残りはエラーを返します:

  • 1 + 3 - 正解
  • 1 / 4 - 正しい
  • 1.3 - 4 - エラー
  • 4 - 5.3 - エラー
  • 123 * 3434 - エラー
  • 12.34 * 485 - エラー

現在、コードで次の正規表現を使用しています。

あらゆる種類の正規表現を試しましたが、どれもうまくいかないようで、何が間違っているのかわかりません:

これは私のクライアントコードです: