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?

 Réponse acceptée

Stephen23
Stephen23 le 16 Nov 2020
Modifié(e) : Stephen23 le 16 Nov 2020
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 commentaires

Thank you very much Stephen.
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'

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by