数値を文字列に変換

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

目次

数値を文字列に変換する

置換表記を使う

さまざまな数値の型 (double, int, const) を文字列に変換するには、以下のサンプルを参考にして下さい。

// myNum は整数値456
int myNum = 456;    
// myNumStringは文字456を文字列として持つ
string myNumString$ = $(myNum);

シンタックス $(num) は、LabTalkでサポートされている置換表記の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"が続き、xは有効な2桁を表示するように設定されます。出力結果は次のようになります。

x = 1.2

加えて、"*n"の後に"*"を付けると、10の累乗の前に続く0が削除されます。例えば、

y = 1.10001;
type "y = $(y, *4*)";

この例では、出力結果は次のようになります。

y = 1.1

yの後に*4ではなく*4*が続くため、結果は2桁の有効数字しか持ちません。

小数点位置を設定するのに . 表記を使う

double x = 1.23456;
type "x = $(x, .2)";

この例では、xの後に".2"が続き、xは小数点以下2桁を表示するように設定されます。出力結果は次のようになります。

x = 1.23

さらに、","を".n"の後に置くと、千の位の区切り文字が表示されます。

double x = 12345678.9;
type "x = $(x, .0,)";

出力結果には小数点以下0桁と千の位の区切り文字が表示されます。

x = 12,345,679

E*n 表記を使って変数を工学表記に変更する

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