Trying to see if a variable is an integer or not

x=2.5;
isaninteger = @(x)isfinite(x)
x=floor(x)
answer=isaninteger(x)
I want the answer here to show that x is not an integer but all it shows is answer = 1. No idea how to fix this
The correct output here would be answer = 0

 채택된 답변

per isakson
per isakson 2021년 5월 10일
편집: per isakson 2021년 5월 10일
Try this
%%
x=2.5;
answer = ( x == floor(x) )
answer = logical
0

댓글 수: 3

Another possibility —
x = 2.5;
answer = rem(x,1)==0
answer = logical
0
answer = mod(x,1)==0
answer = logical
0
Cheers all of these work

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

질문:

2021년 5월 10일

댓글:

2021년 5월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by