MATLAB: Maintain 0 at the start of a number

problem with str2num

I have string of numbers that starts with a 0. I need to convert this to a number (str2num) but maintain the 0 at the start, as it represents a phone number.
example:
>> a = ('0123')
a =
0123
>> b = str2num(a)
b =
123
Any suggestions on how to do this so that my answer would be 0123?

Best Answer

Try this:
a = ('0123');
b = sprintf('%04u', uint64(str2num(a)))