Q46:テキストフィールドに「2,500,300」のデータを数値に変換したい。
Q46-1:
テキスト→数値変換する場合につきまして方法をご教授頂けないでしょうか?
例1)テキストフィールドに「2,500,300」のデータを数値に変換したい。すなわち、テキストフィールドの文字列からある文字(この場合[ , ])を削除or変換した場合の方法。
A46-1:
以下の二つの方法をお試しください。
@[文字列格納変数]を用意し、
「メソッド:文字列を設定する(String)
<引数>取得方法:メソッド戻り値
コンポーネント:テキストフィールド
メソッド/値:テキストを取得する」
の処理を設定して、目的の文字列を格納します。
続いて[文字列格納変数]に2つ目の処理
「メソッド:replaceAllThenReplace(String, String)
<引数0>取得方法:固定値
メソッド/値:,
<引数1>取得方法:固定値
メソッド/値:空白(何も入力しない)」
とすると[文字列格納変数]の中で「,」が「文字列なし」に置き換わります。
つまり「,」が削除されたのと同じになります。
「replaceAllThenReplace」は<引数0>で設定した文字列を<引数1>の文字列で全部置換えてしまうメソッドです。
A[テキストフィールド]ではなく、[数値入力フィールド]を使い数字を入力します。
「実行(設定可)」ボタンで実行し、右クリック>表示形式(実数)>グループ>あり として頂くと桁区切りが付くようになります。
[数値入力フィールド]からデータ取得の際のメソッドには、
数値として計算等に使う場合には、「数値を取得する()」
桁区切りを残したまま文字列を取得する場合には、
「表示されている文字列を取得する()」をお選びください。
なお[数値入力フィールド]はその特性上、キーボードから数字を入力した場合、カーソルが別なコンポーネントに移動した後で桁区切り表示が現れます。
「メソッド:文字列を設定した後、その文字列で値を確定する(String)」等で数値を設定した場合には、設定後すぐ桁区切り表示されます。
備考:「テキストフィールド」の「Q&A2」にも掲載。