I am trying to make a battleship styled game, one of the parts involve getting a set of user input 'firing coordinates', which I then need to test to make sure it is an integer value 1 through 10, what function can I use to test that it is an integer?
*edit: I am looking for a logical operator or else condition that can specify a non integer input.

 Réponse acceptée

James Tursa
James Tursa le 28 Sep 2018
Modifié(e) : James Tursa le 28 Sep 2018

0 votes

See the following:
doc fix
doc ceil
doc floor
doc round
E.g., for a scalar x
if( round(x) == x )
% x is an integer

2 commentaires

Corey Washburn
Corey Washburn le 28 Sep 2018
I am not looking for a way to make a decimal value into an integer (round 4.3 to 4) I am looking for a logical operator that is false if the input is not an integer value.
James Tursa
James Tursa le 29 Sep 2018
That's exactly what my code does ...

Connectez-vous pour commenter.

Plus de réponses (2)

Bruno Luong
Bruno Luong le 29 Sep 2018
Modifié(e) : Bruno Luong le 29 Sep 2018

0 votes

Perhaps no better no worse than James's solution just different
iswholenumber = mod(x,1)==0
Bruno Luong
Bruno Luong le 29 Sep 2018
Modifié(e) : Bruno Luong le 29 Sep 2018

0 votes

according to my test slightly faster, but need to assume the smaller range of x of be working:
x == int32(x)

Catégories

Produits

Version

R2018a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by