I wanna change the assigned value format's long in this function (value) "set(handles.edit1, 'String', value)"

%for example x=-0.134635523018792
%for gui presentation
set(handles.edit1, 'String', x)
%in gui x=-0.1346355 %7 numbers after the dot is appeared but I want to see whole numbers after the dot

 Accepted Answer

It is very surprising that
set(handles.edit1, 'String', x)
shows any string at all, when x is a double value. Actually only strings and cell strings are accepted.
This shows x with 16 digits:
x = -0.134635523018792;
set(handles.edit1, 'String', sprintf('%.16g', x))
Note that it cannot be guaranteed, that you see "all" digits, because there are no accurate decimal representations for the numbers, which are store in binary format internally. See also: FAQ: Why is 0.3-0.2-0.1 ~= 0

4 Comments

"It doesn't work" does not contain any details about the occurring problems. I cannot guess, what's going wrong. Therefore I suggest, that you explain the problems with all required details.
Please note, that I do not understand, how the code in the original message could show any string at all, because you set the 'String' property to the non-string x.
I noticed that he said your codes worked well just several minutes ago.

Sign in to comment.

More Answers (1)

x='-0.134635523018792';

4 Comments

set(hObject, 'String', num2str(x,'%1.15f'))
Maybe this one is better.
it doesn't work any possible solution you could offer?
Actually, I tried the command on my computer just now and it works well. I don't know why you failed.

Sign in to comment.

Categories

Asked:

on 17 Apr 2013

Community Treasure Hunt

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

Start Hunting!