数値を文字列に変換
次は、数値の桁数と小数点以下の桁数のフォーマットの表記を含んで、数値変数を文字列に変換するサンプルです。
目次
数値を文字列に変換する
置換表記を使う
さまざまな数値の型 (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