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.

 採用された回答

James Tursa
James Tursa 2018 年 9 月 28 日
編集済み: James Tursa 2018 年 9 月 28 日

0 投票

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 件のコメント

Corey Washburn
Corey Washburn 2018 年 9 月 28 日
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 2018 年 9 月 29 日
That's exactly what my code does ...

サインインしてコメントする。

その他の回答 (2 件)

Bruno Luong
Bruno Luong 2018 年 9 月 29 日
編集済み: Bruno Luong 2018 年 9 月 29 日

0 投票

Perhaps no better no worse than James's solution just different
iswholenumber = mod(x,1)==0
Bruno Luong
Bruno Luong 2018 年 9 月 29 日
編集済み: Bruno Luong 2018 年 9 月 29 日

0 投票

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

カテゴリ

製品

リリース

R2018a

タグ

質問済み:

2018 年 9 月 28 日

編集済み:

2018 年 9 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by