ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

num2str

数字を文字列に変換

構文

  • s = num2str(A)
  • s = num2str(A,precision)
  • s = num2str(A,formatSpec)

説明

s = num2str(A) は、数値配列を文字列表現に変換します。出力形式は元の値の大きさによって異なります。num2str は数値を使用してプロット図にラベルやタイトルを付ける場合に役立ちます。

s = num2str(A,precision) は、precision で指定した最大有効桁数をもつ文字列表現を返します。

s = num2str(A,formatSpec) は、formatSpec で指定した形式を A の全要素に適用します。

すべて折りたたむ

pieps によって返された浮動小数点値を文字列に変換します。

s = num2str(pi)
s =

3.1416

s = num2str(eps)
s =

2.2204e-16

浮動小数点値の最大有効桁数を指定します。

A = gallery('normaldata',[2,2],0);
s = num2str(A,3)
s =

-0.433     0.125
 -1.67     0.288

浮動小数点値の配列の、幅、精度、その他の書式設定を指定します。

A = gallery('uniformdata',[2,3],0) * 9999;
s = num2str(A,'%10.5e\n')
s =

9.50034e+03
6.06782e+03
8.91210e+03
2.31115e+03
4.85934e+03
7.62021e+03

形式 '%10.5e' は各値を小数点以下 5 桁の指数形式で表示し、'\n' は改行文字を表示します。

入力引数

すべて折りたたむ

入力配列。数値配列として指定します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: はい

出力文字列の有効桁数の最大値。正の整数として指定します。

    メモ:   precision を入力の浮動小数点データ型の精度より大きい値に指定すると、入力値の精度が指定の精度にならない場合があります。結果はコンピューターのハードウェアとオペレーティング システムによって異なります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力フィールドの書式。書式演算子を含む文字ベクトルとして指定します。formatSpec には通常のテキストおよび特殊文字を含めることもできます。

書式演算子

書式演算子はパーセント記号 % で始まり、変換文字で終わります。変換文字は必須です。オプションとして、% と変換文字の間に識別子、フラグ、フィールド幅、精度およびサブタイプ演算子を指定できます (ここでは読みやすいようにスペースが表示されていますが、実際には演算子の間にスペースは使用できません)。

変換文字

次の表では、数値データおよび文字データをテキストとして書式設定するための変換文字を説明します。

値のタイプ変換詳細

整数、符号付き

%d または %i

基数 10

整数、符号なし

%u

基数 10

%o

基数 8 (8 進法)

%x

基数 16 (16 進法)、小文字 af

%X

%x と同じ、大文字 AF

浮動小数点数

%f

固定小数点表記 (小数点以下の桁数の指定には精度演算子を使用)

%e

3.141593e+00 などの指数表現 (小数点以下の桁数の指定には精度演算子を使用)

%E

%e と同じだが、3.141593E+00 のように大文字 (小数点以下の桁数の指定には精度演算子を使用)

%g

%e または %f をコンパクトにしたもので、後続のゼロなし (有効桁数の指定には精度演算子を使用)

%G

%E または %f をコンパクトにしたもので、後続のゼロなし (有効桁数の指定には精度演算子を使用)

文字

%c

単一の文字

%s

文字ベクトル

オプションの演算子

オプションの識別子、フラグ、フィールド幅、精度およびサブタイプ演算子は、出力テキストの書式をさらに細かく定義します。

  • 識別子

    関数の入力引数の処理順序。構文 n$ を使用します。ここで、n は関数呼び出し内の他の入力引数の位置を表します。

    例: ('%3$s %2$s %1$s %2$s','A','B','C') は入力引数 'A''B''C'C B A B として出力します。

    メモ: 入力引数が配列の場合、識別子を使用してその入力引数の特定の配列要素を指定することはできません。

  • フラグ

    '–'

    左揃え。
    例: %-5.2f

    '+'

    常に値の符号文字 (+ または –) を出力します。
    例: %+5.2f

    ' '

    値の前にスペースを 1 つ挿入します。
    例: % 5.2f

    '0'

    値の前にゼロを入れてフィールド幅をパディングします。
    例: %05.2f

    '#'

    選択した数値変換を次のように変更します。

    • %o%x、または %X の場合は、接頭辞 00x、または 0X を表示します。

    • %f%e、または %E の場合は、精度が 0 であっても小数点を表示します。

    • %g または %G の場合は、後続のゼロまたは小数点を削除しないでください。

    例: %#5.0f

  • フィールド幅

    出力する最小文字数。フィールド幅演算子は、数字、あるいは入力引数を参照するアスタリスク (*) にすることができます。

    例: 入力引数 ('%12d',intmax)('%*d', 12, intmax) と等価です。

    フラグで特に指定されていない限り、この関数は値の前にスペースを追加してフィールド幅までパディングします。

  • 精度

    %f%e または %E

    小数点以下の桁数
    例: '%.4f'pi'3.1416' と出力します

    %g または %G

    有効桁数
    例: '%.4g'pi' 3.142' と出力します

    精度演算子は、数字、あるいは引数を参照するアスタリスク (*) にすることができます。

    例: 入力引数 ('%6.4f', pi)('%*.*f', 6, 4, pi) と等価です。

      メモ:   浮動小数点値の精度演算子を入力の数値データ型の精度より大きい値に指定すると、入力値の精度が指定の精度にならない場合があります。結果はコンピューターのハードウェアとオペレーティング システムによって異なります。

  • サブタイプ

    サブタイプ演算子を使用して、浮動小数点値を 8 進数、10 進数または 16 進数の値として出力できます。サブタイプ演算子は、変換文字の直前に指定します。次の表では、サブタイプを使用できる変換を示します。

    入力値の型

    サブタイプと変換文字

    出力値の型

    浮動小数点数

    %bx または %bX
    %bo
    %bu

    16 進数、8 進数または 10 進数の倍精度値
    例: %bxpi400921fb54442d18 と出力します

    %tx または %tX
    %to
    %tu

    16 進数、8 進数または 10 進数の単精度値
    例: %txpi40490fdb と出力します

書式演算子の前後のテキスト

formatSpec では、パーセント記号 % の前や、変換文字の後に追加のテキストを含めることができます。次のテキストを追加できます。

  • 出力する通常のテキスト。

  • 通常のテキストとして入力できない特殊文字。次の表では、formatSpec で特殊文字を表す方法を説明します。

    特殊文字

    表現

    単一引用符

    ''

    パーセント文字

    %%

    バックスラッシュ

    \\

    アラーム

    \a

    バックスペース

    \b

    フォーム フィード

    \f

    改行

    \n

    キャリッジ リターン

    \r

    水平タブ

    \t

    垂直タブ

    \v

    ASCII コードが 16 進数 N である文字

    \xN

    ASCII コードが 8 進数 N である文字

    \N

書式演算子を使用した変換動作の注意点

  • 数値変換は複素数の実数部のみを出力します。

  • 数値の文字変換など、データに適さない変換を指定すると、MATLAB® は指定した変換をオーバーライドし、%e を使用します。

    例: '%s' は、pi3.141593e+00 に変換します。

  • 整数値に文字変換 (%c または %s) を適用する場合、MATLAB は有効な文字コードに対応する値を文字に変換します。

    例: '%s' は、[65 66 67]ABC に変換します。

出力引数

すべて折りたたむ

入力配列の文字列表現。文字配列として返されます。

詳細

すべて折りたたむ

ヒント

num2strformatSpec 入力引数内の位置識別子を受け入れません。たとえば、num2str([14 15],'%2$X %1$o) はエラーを返します。

位置識別子は、書式演算子が関数の入力引数を処理する順序を指定します。入力配列の要素は指定しません。num2str を呼び出す場合、変換対象の数値をもつ入力引数は 1 つのみです。

アルゴリズム

num2str は、formatSpec に空白文字フラグが含まれていたとしても、文字列から先頭の空白を取り除きます。たとえば、num2str(42.67,'% 10.2f') は、1 行 5 列の文字配列 '42.67' を返します。

R2006a より前に導入

この情報は役に立ちましたか?