変換ユーティリティ:
$DH:10進数を16進数へ変換。
%DO:10進数を8進数へ変換。
%HD:16進数を10進数へ変換。
%HO:16進数を8進数へ変換。
%LCASE:文字列をすべて小文字へ変換。
%OD:8進数を10進数へ変換。
%OH:8進数を16進数へ変換。
%UCASE:文字列をすべて大文字へ変換。
変換ユーティリティは外部関数として呼び出すことができます。
"%"記号は、下記の見出しトピックのから意図的に削除されています。
%DHユーティリティは、数値を10進数から16進数へ変換します。%DHのデフォルトは、8桁の数字がその出力の長さです。しかし、入力変数%DLが、デフォルトをオーバーライドし、出力の長さをコントロールします。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
例:
GTM>DO INT^%DH Decimal: 12 Digits: 1 GTM>ZWRITE %DH="C"
この例は、対話形式によってINT^%DHで%DHを呼び出します。%DHは10進数と出力の長さを求められ、変数%DHの結果を返ぢます。ZWRITEは変数の内容が表示されます。
例:
GTM>SET %DH=12 GTM>DO ^%DH GTM>ZWRITE %DH="0000000C" %DL=8
この例では、読み書き可能な変数%DHに12を設定し、数値を16進数へ変換する%DHを呼び出します。桁数を指定しなかったので、%DHは8桁をデフォルトとして使用しました。出力桁数を指定する%DLをセットします。
例:
GTM>WRITE $$FUNC^%DH(12,4) 000C
この例では、FUNCラベルを使用して外部関数として%DHを呼び出します。最初の引数は10進数入力とオプションを指定し、2番目の引数は出力桁数を指定します。もし外部の2番目の引数を持っていないならば、8文字長さの出力をデフォルトとします。
%DOユーティリティは、数値を10進数から8進数に変換します。出力のデフォルトの長さは12桁です。入力変数 %DLに割り当てられた値がデフォルトより優先され、出力の長さが制御されます。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
例:
GTM>DO INT^%DO Decimal: 12 Digits: 4 GTM>ZWRITE %DO="0014"
この例では、%DO を INT^%DO と対話的に呼び出します。%DOは、10進数と出力長の入力を要求します。%DOの出力値に先頭にゼロがある場合、値は文字列です。ZWRITEは変数の内容が表示されます。
例:
GTM>SET %DO=12 GTM>DO ^%DO GTM>ZWRITE %DO="000000000014"
この例では、読み書き可能な変数 %DO を12に設定し、%DOを呼び出して、非インタラクティブに数値を変換します。桁数は指定されていないため、%DOはデフォルトの12桁を使用しました。出力桁数を指定する%DLをセットします。ZWRITEは変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%DO(12,7) 0000014
この例では、%DOをFUNCというラベルを持つ外部関数として呼び出します。最初の引数は変換される数値を指定し、オプションの2番目の引数は出力桁数を指定します。2番目の引数が指定されていない場合、%DOはデフォルトの12桁を使用します。
%HDユーティリティは、数値を16進数から10進数に変換します。%HD は、読み書き変数 %HD の10進数を返します。%HDは、マイナス記号( - )で始まる入力番号を拒否し、null( "")を返します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
例:
GTM>DO INT^%HD Hexadecimal:E GTM>ZWRITE %HD=14
この例では、INT^%HD の対話モードで%HDを呼び出します。%HD は、16進数の入力を促し、変換した数値を変数%HDに返します。ZWRITEは、変数の内容が表示されます。
例:
GTM>SET %HD="E" GTM>DO ^%HD GTM>ZWRITE %HD=14
この例では、読み書き変数 %HD を "E"に設定し、%HDを呼び出して、%HDの値を非対話形式で10進数に変換します。%HDは、変換された値を読み書き変数%HDに置きます。
例:
GTM>WRITE $$FUNC^%HD("E") 14
この例では、FUNCというラベルを持つ外部関数として%HDを呼び出し、結果を書き込みます。
%HOユーティリティーは、数値を16進数から8進数に変換します。%HOは、読み書き変数 %HO の8進数を返します。%HOは、マイナス記号( - )で始まる入力番号を拒否し、ヌル( "")を返します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
例:
GTM>DO INT^%HO Hexadecimal:C3 GTM>ZWRITE %HO=303
この例では、INT^%HOを使用して対話モードで%HOを呼び出します。%HO は、8進数に変換する16進数の入力を求めます。ZWRITEは、変数の内容が表示されます。
例:
GTM>SET %HO="C3" GTM>DO ^%HO GTM>ZWRITE %HO=303
この例では、読み書き変数 %HO を "C3"に設定し、%HOを呼び出して%HOの値を非対話形式で変換します。ZWRITEは、変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%HO("C3") 303
この例では、%HOをFUNCラベルを持つ外部関数として呼び出します。
%LCASEユーティリティーは、文字列をすべて小文字に変換します。もしルーチンがこの関数を繰り返し使用するならば、Mプログラムへ直接ユーティリティコードを置いてください。
例:
GTM>DO INT^%LCASE String: LABEL Lower: label
この例では、INT^%LCASEを使用して対話モードで%LCASEを呼び出します。%LCASEは、すべての小文字に変換する文字列を要求します。
例:
GTM>SET %S="Hello" GTM>do ^%LCASE GTM>zwrite %S="hello"
この例では、変数 %S を文字列 "Hello"に設定し、%LCASEを非対話的に呼び出して文字列を変換します。
例:
GTM>SET ^X="Hello" GTM>WRITE $$FUNC^%LCASE(^X) hello
この例では、変数^ Xを文字列 "Hello"に設定し、小文字で "hello"を返す外部関数として%LCASEを呼び出します。
%ODユーティリティは、数値を8進数から10進数に変換します。%ODは読み書き変数 %OD の10進数を返します。%ODはマイナス記号( - )で始まる入力番号を拒否し、null( "")を返します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
例:
GTM>DO INT^%OD Octal:14 GTM>ZWRITE %OD=12
この例では、INT^%ODを呼び出して、入力された8進数を対話的に変換します。%ODは小数点に変換する8進数を入力するよう求めます。%ODは、変換された値を変数%ODに返します。
例:
GTM>SET %OD=14 GTM>DO ^%OD GTM>ZWRITE %OD=12
この例では、読み書き可能変数%ODを14に設定し、%ODを呼び出して番号を非対話形式で変換します。ZWRITEは変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%OD(14) 12
この例では、%OD をFUNCラベルを持つ外部関数として呼び出します。引数には、変換する数値を指定します。
%OHユーティリティは、数値を8進数から16進数に変換します。%OHは、読み書き変数 %OH の16進数を返します。%OHは、マイナス( - )記号で始まる入力番号を拒否します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。対話モードでは、%OHは8進数以外の数字を拒否します。"Input must be an octal number"「入力は8進数でなければなりません」というメッセージが表示されます。非対話モードでは、%OHは8進数ではない文字列( "")を返します。
例:
GTM>DO INT^%OH Octal:16 GTM>ZWRITE %OH="E"
この例では、INT^%OHを使用して対話モードで%OHを呼び出します。%OHは、16進数に変換する8進数の入力を促します。ZWRITEは、変数の内容が表示されます。
例:
GTM>SET %OH=16 GTM>DO ^%OH GTM>ZWRITE %OH="E"
この例では、読み書き変数%OHを16に設定し、%OHを呼び出して%OHの値を非対話的に変換します。ZWRITEは、変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%OH(16) E
この例では、%OHをFUNCラベル付きの外部関数として呼び出します。
%UCASEユーティリティは、文字列をすべて大文字に変換します。もしルーチンがこの関数を繰り返し使用するならば、Mプログラムへ直接ユーティリティコードを置いてください。