How to add one digit to another digits?

For example, I have a number b=5; and i need to add it by another digits, for example 1234 and get the answer 12345. Code may show like: set(handles.text1,'string',1234+b) An error is "1234+b" and i don't know how format it that one digit adds to another digits. Thanks in advance.

 Accepted Answer

Paulo Silva
Paulo Silva on 1 Mar 2011
strcat('1234','5')
you can convert any number to string with num2str or other similar function
strcat('1234',num2str(5))
b=5;
strcat('1234',num2str(b))

More Answers (1)

The answer to your question as phrased is:
set(handles.text1, 'string', 1234*10^max(1,ceil(log10(b+1))) + b)
I would suggest, though, that you instead consider
set(handles.text1, 'string', sprintf('%d%d', 1234, b))
EDIT: put in max() to correct for the possibility that b is 0.

4 Comments

Thank you for you help.
Walter's solutions are always very good
Can I ask one more question? If there is not digits, but string, i have something like '=a21:' and by this add hexadecimal number.
g=2F4
sprintf('%s%x',=a21:,g). Can it be something like that?
sprintf('%s%s', '=a21:', '2F4');
Or more simply
['=a21:', '2F4']
It is not possible to create a _numeric_ value in hex format.
Perhaps, though, you might like to use
sprintf('%s%x', '=a21:', hex2dec('2F4'))

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!