Azzera filtri
Azzera filtri

work with numbers in number

2 visualizzazioni (ultimi 30 giorni)
Lev Mihailov
Lev Mihailov il 19 Nov 2019
Risposto: Walter Roberson il 19 Nov 2019
Hello! I have the number 40.201109, I need to work with numbers 109, and then with 110 and at the end of 40. Help me how to separate them
  6 Commenti
Walter Roberson
Walter Roberson il 19 Nov 2019
You do not understand how you get that number.
If you have a number of the form AB.cdefgh then how should the output be formed?
Lev Mihailov
Lev Mihailov il 19 Nov 2019
Here is an example of some mathematical operations that I can do with a pen, I need to automate it all
40.201109 a=40 b=110 c=109
x1=c+b*10^-5;
x2=x1+a-b;
x3=x2+c-x1^2
x4=......
x124=55.201992
there are many operations, but if I can get a, b, c, I can fully calculate everything

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 19 Nov 2019
x = 40.201109;
xs = sprintf('%.6f', x);
a = str2double(xs(1:2));
b = str2double(xs(end-3:end-1));
c = str2double(xs(end-2:end));
This presumes there are exactly 6 significant decimal places. It is not generally possible to figure out how many significant decimal places a binary floating point number has -- for example 40.201109 is stored internally as 40.201109000000002424712874926626682281494140625 exactly.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by