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

Community Treasure Hunt

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

Start Hunting!