4D v16.3

String

ホーム

 
4D v16.3
String

String 


 

String ( expression {; format {; addTime}} ) -> 戻り値 
引数   説明
expression  in 文字列式を返したい式 (実数、整数、倍長整数、日付、時間、文字列、 テキスト、ブールを指定可能)
format  文字, 倍長整数 in 表示フォーマット
addTime  時間 in expressionが日付の時、文字列に追加する時間
戻り値  文字 in 式の文字列式

説明   

Stringコマンドは、expressionに渡した数値、日付、時間、文字列、またはブールを文字列に変換します。

オプションのformatを指定しない場合、適当なデフォルトの形式で文字列が返されます。formatを指定すると、結果の文字列は指定した形式になります。

オプションのaddTime引数は、日付に時間を複合フォーマットで追加します。この引数はepression引数が日付型の時にのみ使用できます (後述)。

数値式
expressionが数値(実数、整数、倍長整数)である場合、オプションで文字列フォーマットを渡すことができます。次に例を示します。

例題結果コメント
String(2^15)"32768"デフォルトフォーマット
String(2^15;"###,##0 Inhabitants")"32,768 Inhabitants"
String(1/3;"##0.00000")"0.33333"
String(1/3)"0.3333333333333    "デフォルトフォーマット(*)
String(Arctan(1)*4)"3.14159265359    "デフォルトフォーマット(*)
String(Arctan(1)*4;"##0.00")"3.14"
String(-1;"&x")"0xFFFFFFFF"
String(-1;"&$")"$FFFFFFFF"
String(0 ?+ 7;"&x")"0x0080"
String(0 ?+ 7;"&$")"$80"
String(0 ?+ 14;"&x")"0x4000"
String(0 ?+ 14;"&$")"$4000"
String(50,3;"&xml")"50.3"必ず "." を小数点として使用
String(Num(1=1);"True;;False")"True"
String(Num(1=2);"True;;False")"False"
String(Log(-1))""未定義の数値
String(1/0)"INF"正の無限数
String(-1/0)"-INF"負の無限数

(*) 4D v14 R3 以降、実数をテキストへと変換するアルゴリズムは、有効数字13桁に基づいて計算されています(それ以前のバージョンの4Dは15桁)

フォーマットは、フォームの数値フォーマットと同じ方法で指定します。数値フォーマットの詳細については4D Design Referenceマニュアルの表示フォーマットを参照してください。カスタムフォーマットの書式名をformatに渡すことができます。カスタムフォーマットの名前は“|”で始めなければなりません。

注: コンパイルモードにおいて、String 関数は "整数64bit" 型フィールドと互換性がありません。

日付式
expressionが日付の場合、デフォルトフォ-マット(YY.MM.DD)を使用して文字列が返されます。format 引数には、以下で説明する定数のいずれか1つを渡すことができます (Date Display Formatsテーマ) 。

この場合addTime引数に時間を渡すことができます。この引数を使用すれば日付と時間を合成し、標準形式のタイムスタンプを生成することができます (ISO DateISO Date GMTDate RFC 1123定数)。このフォーマットはXMLやWebの処理の際特に有効です。addTime引数はexpressionが日付型の場合のみ使用できます。

定数 コメント
Blank if null date 倍長整数 100 0の代わりに""
Date RFC 1123 倍長整数 10 Fri, 10 Sep 2010 13:07:20 GMT
Internal date abbreviated 倍長整数 6 Dec 29, 2006
Internal date long 倍長整数 5 December 29, 2006
Internal date short 倍長整数 7 2006/12/29
Internal date short special 倍長整数 4 06/12/29 (しかし 1986/12/29 または 2096/12/29)
ISO Date 倍長整数 8 2006-12-29T00:00:00
ISO Date GMT 倍長整数 9 2010-09-13T16:11:53Z
System date abbreviated 倍長整数 2
System date long 倍長整数 3
System date short 倍長整数 1

注: 表示フォーマットはシステム設定に応じて変化する可能性があります。

以下は今日が2006/12/29の場合の例です。

 $vsResult:=String(Current date// $vsResultは"06/12/29"
 $vsResult:=String(Current date;Internal date long// $vsResultは"December 29, 2006"
 $vsResult:=String(Current date;ISO Date GMT// $vsResultは日本の場合"2006-12-28T15:00:00Z"

日付/時間複合フォーマットに関するメモ:

  • ISO Date GMTフォーマットはISO8601標準に対応します。日付と時間を含みタイムゾーン (GMT) を考慮します。
     $mydate:=String(Current date;ISO Date GMT;Current time// 2010-09-13T16:11:53Zを返します。

    上記の例の最後の"Z"はGMTフォーマットの終了を表します。
    addTime引数を渡さない場合、ローカルタイムの午前0時として扱いGMTに変換します (例題参照)。そのため日付がローカルタイムに対して前後することがあります。
     $mydate:=String(Current date;ISO Date GMT// 2010-09-12T15:00:00Zを返す
  • ISO DateフォーマットはISO Date GMTフォーマットと同様に日付と時間を含みますが、タイムゾーンを考慮しません。当初よりこのフォーマットはISO8601標準に準拠しておらず、非常に特殊な目的のために予約されたものです。
     $mydate:=String(!13/09/2010!;ISO Date// 2010-09-13T00:00:00 を返す(タイムゾーンに依存しない)
         $mydate:=String(Current date;ISO Date;Current time// 2010-09-13T18:11:53 を返す
  • Date RFC 1123フォーマットは日付と時間の組み合わせをRFC 822と1123で定義された標準に基づきフォーマットします。このフォーマットはたとえばHTTPヘッダーでcookieの有効期限を設定する際に必要となります。
     $mydate:=String(Current date;Date RFC 1123;Current time// Fri, 10 Sep 2010 13:07:20 GMTを返す

    表現される日時は、タイムゾーンが考慮されるためローカルのタイムゾーンにより日付が前後にずれることになります。日付のみを渡すと、コマンドはローカルタイムの00:00をGMT時間で表現して返します:
     $mydate:=String(Current date;Date RFC 1123// Thu, 09 Sep 2010 15:00:00 GMTを返す

時間式
expressionが時間の場合、デフォルトフォ-マット(HH:MM:SS)を使用して文字列が返されます。format 引数には、以下の表に示す定数のいずれか1つを渡すことができます (Time Display Formatsテーマ) 。

定数 コメント
Blank if null time 倍長整数 100 0の代わりに""
HH MM 倍長整数 2 01:02
HH MM AM PM 倍長整数 5 1:02 AM
HH MM SS 倍長整数 1 01:02:03
Hour min 倍長整数 4 1時2分
Hour min sec 倍長整数 3 1時2分3秒
ISO time 倍長整数 8 0000-00-00T01:02:03
Min sec 倍長整数 7 62分3秒
MM SS 倍長整数 6 62:03
System time long 倍長整数 11 1:02:03 AM HNEC (Macのみ)
System time long abbreviated 倍長整数 10 1:02:03 AM (Macのみ)
System time short 倍長整数 9 01:02:03
Notes:
  • ISO DateフォーマットはISO8601標準に対応し、日付と時間を含みます。このフォーマットは日付と時間の複合をサポートしないため、日付部分は0で埋められます。このフォーマットはローカル時間を表します。
  • Blank if null定数はフォーマットに他のフォーマットに加算して使用しなければなりません。追加することにより、Null値の場合、4Dは0の代わりに空の文字列を返します。

以下の例は、現在時刻が5:30 PM45秒であるものとします。

 $vsResult:=String(Current time// $vsResultは"17:30:45"
 $vsResult:=String(Current time;Hour Min Sec// $vsResultは"17時30分45秒"

文字列式
expressionが文字列またはテキスト型の場合、コマンドは引数に渡した値と同じ値を返します。これは特にポインタを使用している汎用プログラミングで有効です。
この場合、format引数は渡されても無視されます。

ブール式
expressionがブール 型の場合、コマンドはアプリケーションのランゲージに文字列 "True" または"False"を返します(例えば、4Dのフランス語バージョンでは、“Vrai”または“Faux”)。
この場合、format引数は渡されても無視されます。



参照 

Date
Num
Time string

 
プロパティ 

プロダクト: 4D
テーマ: 文字列
番号: 10

This command can be run in preemptive processes

 
履歴 

変更: 4D v11 SQL
変更: 4D v12.1
変更: 4D v14 R3

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)