数値を文字列に変換

次は、数値の桁数と小数点以下の桁数のフォーマットの表記を含んで、数値変数を文字列に変換するサンプルです。

数値を文字列に変換する

置換表記を使う

さまざまな数値の型 (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