I want to combine two columns. Here is the example of probleme: A column has lot of number like 20100101;20100102... .B column has the same amount of numbers like 020510000;020510040... . I want to aggregate A and B columns to have one column like 2010010120510000;20100102020510040... . That every A(x) would be in the same row with B(x). Thank you very much.

 Réponse acceptée

Star Strider
Star Strider le 17 Sep 2015

0 votes

One approach:
A = [20100101;20100102];
B = [020510000;020510040];
ABS = sprintf('%d%09d\n', [A, B]'); % String Representation
ABN = str2num(sprintf('%d%09d\n', [A, B]')) % Numeric Conversion

2 commentaires

Paulius Vaikasas
Paulius Vaikasas le 17 Sep 2015
Thank you.
Star Strider
Star Strider le 17 Sep 2015
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

James Tursa
James Tursa le 17 Sep 2015
Modifié(e) : James Tursa le 17 Sep 2015

0 votes

This is how one would do it if A and B are doubles:
C = A*1e8 + B;
However, each of A and B has 8 decimal digits, so the result of this calculation will have 16 decimal digits. That is right at the limit of what a double precision value can hold, and may even be beyond depending on the actual values involved. So this might not work and you may need a different method.
If A and B are actually char arrays, then it is simply:
C = [A,B];

Catégories

En savoir plus sur MATLAB Compiler dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by