what is wrong in this? how to use isinteger?

11 views (last 30 days)
function valid= valid_date3(y,m,d)
if ~isscalar(y) || ~isscalar(m) || ~isscalar(d) || ~isinteger(y) || ~isinteger(m) || ~isinteger(d) || y<1 || m<1 || d<1
valid=false;
return
end
valid=valid_date3(1900,2,28)
valid =
logical
0
.

Accepted Answer

Matt J
Matt J on 13 Jun 2020
Edited: Matt J on 13 Jun 2020
To test whether a variable is integer-valued, you would do
y==round(y)
isinteger is for something completely different. It simply tests whether y is stored in floating point form, or as an integer data type, e.g.,
>> isinteger(5)
ans =
logical
0
>> isinteger(uint8(5))
ans =
logical
1

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!