error in matlab arithmetic operations ?

5 vues (au cours des 30 derniers jours)
LO
LO le 7 Juil 2020
Commenté : LO le 7 Juil 2020
I am puzzled by the result of this operation in matlab:
I have a var that equals 3
I am trying to calculate (var-1)*60
instead of getting 120 I get 3000, it may have something to do with number formatting ?
  3 commentaires
LO
LO le 7 Juil 2020
Thanks John
the var is actually not called var (as rightfully StarStrider pointed out, this would be a function). The var is just the value in a text box which equals 2 - I am sure of this: I tried to display separately in a text box (I am using a GUI with app designer) and it is = 2. I have no idea of why

Connectez-vous pour commenter.

Réponse acceptée

Steven Lord
Steven Lord le 7 Juil 2020
Your variable named var (which is a bad idea, because var already has a meaning in MATLAB) is not 3. It is '3'.
xDouble = 3;
(xDouble-1)*60
xChar = '3';
(xChar-1)*60
The ASCII value of '3' is 51. When you subtract 1 from '3' the result is the double value 50 and 50*60 is 3000.
  1 commentaire
LO
LO le 7 Juil 2020
that is what I wanted to hear :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Scope Variables and Generate Names dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by