Convert Array of Float to comma delimited string

Hi I would like to convert an array of floats to a single string, with commas separating the numbers, as below:
data = [1 2 3 4];
output = "1, 2, 3, 4"
However, I cannot seem to get the commas implemented - here is my attempt:
data2 = cellstr(num2str(data));
output = strjoin(data2, ', ');
i then get an output of;
'1 2 3 4'
What am I doing wrong?

 採用された回答

Stephen23
Stephen23 2020 年 11 月 16 日
編集済み: Stephen23 2020 年 11 月 16 日

1 投票

data = [1,2,3,4];
strjoin(compose("%d",data),", ") % provides formatting control
ans = "1, 2, 3, 4"
strjoin(""+data,", ") % default formatting
ans = "1, 2, 3, 4"

2 件のコメント

Ted Baker
Ted Baker 2020 年 11 月 16 日
Thank you very much Stephen.
RST
RST 2023 年 8 月 3 日
And for 2D arrays we can do:
data = rand(3,4);
csvData = strjoin( join( compose('%.3f', data), ', '), newline())
csvData =
'0.979, 0.700, 0.043, 0.264 0.007, 0.619, 0.588, 0.401 0.695, 0.447, 0.679, 0.236'

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

タグ

質問済み:

2020 年 11 月 16 日

コメント済み:

RST
2023 年 8 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by