How create string like this: word+number+word with number=num2str(x)

362 ビュー (過去 30 日間)
Gennaro Arguzzi
Gennaro Arguzzi 2017 年 5 月 9 日
コメント済み: Walter Roberson 2017 年 5 月 9 日
Hi everyone,
how could I write a string like the following word+number+word with number=num2str(x). For example:
x=2; x_str=num2str(x); y='I have' x_str 'dogs'
Thank you for your help.

採用された回答

Santhana Raj
Santhana Raj 2017 年 5 月 9 日
x=2;
y= ['I have' num2str(x) 'dogs'];
  6 件のコメント
Steven Lord
Steven Lord 2017 年 5 月 9 日
If you're using a release that includes the string data type and you specify the formatSpec input to sprintf as a string rather than a char vector, you will receive a string rather than a char vector as output.
A = sprintf(string('abc %d def'), 17);
B = sprintf("abc %d def", 17); % release R2017a and later
Walter Roberson
Walter Roberson 2017 年 5 月 9 日
Right, sprintf() outputs a character vector.

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 5 月 9 日
y = sprintf('I have %d dogs', x);
  2 件のコメント
Gennaro Arguzzi
Gennaro Arguzzi 2017 年 5 月 9 日
Hi @Walter Roberson, y is a character vector (e.g. y=sprintf(2222) has 1x4 dimensions). My goal is to obtain a string.
Walter Roberson
Walter Roberson 2017 年 5 月 9 日
MATLAB does not have a string data type before R2016b, on character vectors. It is common to put character vectors inside cell arrays, such as
{sprintf('I have %d dogs', x), 'I have no cats', sprintf('I have %d iguanas', y) }

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by