例: データ型を変換する

  1. @TextToNumber、@Text。次の例は、@Prompt を使用して数値を対話的に読み込み、対数を計算して、@Prompt を使用して答えを対話的に表示します。@Prompt の対象には文字列値しか許されないため、対数を計算する前に入力値 i を数値に変換しなければなりません。同様に、解答 n は文字列に変換してから表示します。
    i := @Prompt([OkCancelEdit]; "@Log Test"; "Enter a number"; "");
    n := @Log(@TextToNumber(i));
    @If(@IsError(n); @Return(@Prompt([Ok]; "@Log Test"; i + " is not a number")); ""); @Prompt([Ok]; "@Log Test"; "The logarithm of " + i + " is " + @Text(n))
  2. @Text。次の例は、@Now が返した現在の日付/時刻を日付/時刻形式 T1S1 に従って文字列に変換し、表示します。T1 は時刻のみ、S1 は時間と分のみという意味です。夕方の 6 時には、ヘッダーが「The time is ...」、内容が「06:00 PM」の情報ボックスが表示されます。
    @Prompt([Ok]; "The time is ..."; @Text(@Now; "T1S1"))
  3. @Text。次の例は、数値 800 を数値形式 C,2 に従って文字列に変換し、表示します。C は通貨形式 (先頭にドル記号が付く)、2 は小数点以下桁数が 2 桁の 10 進数という意味です。ヘッダーが「800 dollars」、内容が「$800.00」の情報ボックスが表示されます。
    @Prompt([Ok]; "800 dollars"; @Text(800; "C,2"))
  4. @Text、@TextToTime。次の例は、文字列「Today」を今日の日付に変換し、@Prompt 用の文字列に変換します。例えば、今日が 1995 年 7 月 8 日なら、ヘッダーが「Today's Date」、内容が「07/08/95」の情報ボックスが表示されます。
    @Prompt([Ok]; "Today's Date"; @Text(@TextToTime("Today")))
  5. @IsNumber。次の例は、フィールド A と B を加算します。一方が数値ではない場合は、まず数値 0 に変換されます。数値フィールドには数値以外は入力できませんが、デフォルト式がないフィールドを空白のままにすると、デフォルトで Null 文字列になります。この式では、@IsNumber 関数によってこのような場合を処理しています。
    @If(@IsNumber(A); A; 0) + @If(@IsNumber(B); B; 0)
  6. @Char。次の例は、整数 65 を大文字の A に変換します。
    @Prompt([Ok]; "Code Page 850 code 65"; @Char(65))