は、私は、コードを持っていると言う:変数が整数かどうかを確認する方法はありますか?私は変数が整数であるかどうかを確認する必要があるC++
double foobar = 3;
//Pseudocode
if (foobar == whole)
cout << "It's whole";
else
cout << "Not whole";
私はこれをどのように行うのでしょうか? foobar
を想定し
は、私は、コードを持っていると言う:変数が整数かどうかを確認する方法はありますか?私は変数が整数であるかどうかを確認する必要があるC++
double foobar = 3;
//Pseudocode
if (foobar == whole)
cout << "It's whole";
else
cout << "Not whole";
私はこれをどのように行うのでしょうか? foobar
を想定し
は、あなたがそれを丸めると、番号自体にそれを比較することができ、実際には浮動小数点値である:
if (floor(foobar) == foobar)
cout << "It's whole";
else
cout << "Not whole";
整数で切り捨てるものはありません。 –
whoops申し訳ありませんが、ダブルを意味するだけです。 – Billjk
それは常に「全体」の数になりますので、あなたはint型を使用しています。しかし、ダブルを使用している場合は、このようなことをすることができます
double foobar = something;
if(foobar == static_cast<int>(foobar))
return true;
else
return false;
整数の定義によります。 0以上を整数として考えると、それは簡単にbool whole = foobar >= 0;
となります。
@downvoter:整数の定義が正確ではありません。 wikipedia:http://en.wikipedia.org/wiki/Whole_numberを参照してください。 – Asha
ハァッ、聞いたことがない。それが上がるたびに、私が話したすべての人が定義に同意した。 –
function
またはexpression
と書いてwhole number
を確認して、bool
を返してください。
通常の定義では、整数は小数部なしの0より大きいと思います。あなたは、問題のXおよび潜在的な解決策Yを持って、あなたがする必要がありますけれども、あなたは後者について尋ねているので:
そして、申し訳ありません
if (abs(floor(foobar))== foobar)
cout << "It's whole";
else
cout << "Not whole";
注:拒否された「あまりに過激な」提案された編集があります:http://stackoverflow.com/review/suggested-edits/5928097 –
おっとは、ちょうど私はあなたがXYに問題があると思う – Billjk
を編集し、二重の意味しました前者について尋ねる。 –