数値を文字列に変換Converting-to-String
次は、数値の桁数と小数点以下の桁数のフォーマットの表記を含んで、数値変数を文字列に変換するサンプルです。
数値を文字列に変換する
置換表記を使う
さまざまな数値の型 (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 関数を使うことです。
// 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を使って変数を工学表記に変更する
記号Eは記号*と同じように、表示フォーマットを変更する変数に続けて入力します。例えば、
x = 1e6;
type "x = $(x, E%4.2f)";
上記typeのコマンド内において、%は置換記号の開始を意味し、4は全桁数を、.2は小数点以下の桁数2桁を指定しており、f は浮動小数記号の表記です。出力は次のようになります。
x = 1.00M
$(x, S*n)を使って、工学表記から科学(指数)表記に変換する
このシンタックスでは、n は全桁数を指定します。
x = 1.23456;
type "x = $(x,S*3)";
Originは次のように返します。
x = 1.23E0
|