次は、数値の桁数と小数点以下の桁数のフォーマットの表記を含んで、数値変数を文字列に変換するサンプルです。
さまざまな数値の型 (double, int, const) を文字列に変換するには、以下のサンプルを参考にして下さい。
// myNum は整数値456 int myNum = 456; // myNumStringは文字456を文字列として持つ string myNumString$ = $(myNum);
シンタックス $(num) は、LabTalkでサポートされている2つの 置換表記 の1つです。 もう1つの %(string$)は、文字列変数をその内容で置換する逆の変換( 文字列から数値)を行うのに使われます。
フォーマットも型変換中に指定することができます。
$(number [,format]) // 角括弧はフォーマットが任意であることを示す
フォーマットは、C言語のフォーマット指定子変換に従います。これは、どのC言語リファレンスでも見つけることができます。例えば
string myNumString2$ = $("3.14159",%3d); myNumString2$= // "3" string myNumString2$ = $("3.14159",%3.2f); myNumString2$= // "3.14" string myNumString2$ = $("3141.59",%6.4e); myNumString2$= // "3.1416e+003"
このタイプのフォーマットについての情報は、$()置換を参照して下さい。
数値変数を文字列変数に変換する別の方法は、format 関数を使うことです。
// formatを呼び出し、有効桁数3を指定 string yy$=Format(2.01232, "*3")$; // "2.01" yy$=;
format 関数についての詳細な情報については、Format (関数)をご覧下さい。
LabTalkには、独自のフォーマット指定子があり、これはLabTalkの置換表記の一部として使われ、数値を書式化する簡単な方法です。
x = 1.23456; type "x = $(x, .2)";
この例では、変数xの後に、有効数字2桁を設定する *2 が続いています。出力結果は次のようになります。
x = 1.2
さらに、")"の前に * を置くと、桁数以下の0を消去します。例えば
y = 1.10001; type "y = $(y, *4*)";
この例では、出力結果は
y = 1.1
結果は、yが*4ではなく*4* に従うので、有効桁数が2となります。
x = 1.23456; type "x = $(x, .2)";
この例では、変数xの後に、小数点以下2桁を設定する .2 が続いています。出力結果は次のようになります。
x = 1.23
記号Eは記号*と同じように、表示フォーマットを変更する変数に続けて入力します。例えば、
x = 1e6; type "x = $(x, E%4.2f)";
上記typeのコマンド内において、%は置換記号の開始を意味し、4は全桁数を、.2は小数点以下の桁数2桁を指定しており、f は浮動小数記号の表記です。出力は次のようになります。
x = 1.00M
このシンタックスでは、n は全桁数を指定します。
x = 1.23456; type "x = $(x,S*3)";
Originは次のように返します。
x = 1.23E0