フィルターのクリア

Questions about Fractions and integers?

8 ビュー (過去 30 日間)
Portgas Ace
Portgas Ace 2012 年 9 月 20 日
James deleted this, so I (Matt Fig) and rewriting it from memory.
How can I make a way to distinguish between integers and fractions? For example, the output will say fraction if the input is a fraction and will say integer if the input is an integer.
  5 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 9 月 20 日
James, where is the question and the answer? when you post a question, the answer is useful for all members of this forum
Matt Fig
Matt Fig 2012 年 9 月 21 日
OP:
How can I make a way to distinguish between integers and fractions? For example, the output will say fraction if the input is a fraction and will say integer if the input is an integer.

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

回答 (3 件)

José-Luis
José-Luis 2012 年 9 月 20 日
編集済み: José-Luis 2012 年 9 月 20 日
If integer, the following will return true:
floor(your_num) == your_num;
Otherwise, if the number has a fractional part, it will return false.
If you are talking about data type, Matlab is not a strongly typed language, and by default everything is a double. You can however define a number to have integer type
doc int32
and other flavors of integers.

Matt Fig
Matt Fig 2012 年 9 月 20 日
A = 9; % Also try with A = 7/8;
if floor(A)==A
disp('Integer')
else
disp('fraction')
end
  1 件のコメント
Malcolm Lidierth
Malcolm Lidierth 2012 年 9 月 21 日
How about A = NaN ?

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


Daniel Shub
Daniel Shub 2012 年 9 月 20 日
You can test if a numeric input is an "integer" with validateattributes ...
function TF = mytest(x)
TF = false;
try
validateattributes(x, {'numeric'}, {'integer'});
disp('integer')
catch
disp('fraction')
TF = true;
end

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by