プロが教えるわが家の防犯対策術!

if文で「値が自然数ならば......」という風にしたいのですが自然数を判定する演算子はないでしょうか?

A 回答 (4件)

算数用語だけで説明します。


演算子はないです。「整数であり、かつ、正である」という判断をする必要があります。
「正である」はわかりますよね。
「整数である」は、「小数部がゼロ」ということですが、「この値の小数部を取得する」という関数はないので、「この値の整数部を取得する」というMath.truncという関数を使って、「整数部と元の値が等しい」という判断をします。
ということで、値をxとすると、
x == Math.trunc(x) && x > 0
ですね。
自然数にゼロを含む流儀もあるのでその場合は>=0で。
    • good
    • 3

無いです。



関数ならNo.3さんの答えが無難。
isIntegerはIEがサポートしないから
もう少しの間控えた方がいい。

尚、JSの保持できる整数値は
-(2^53 - 1)~2^53 - 1

の範囲なので注意しよう。
    • good
    • 1

ありませんね。


自力で作るしかありません。

https://paiza.io/projects/P1XmSsJlnLpqB6PS6lWxew
    • good
    • 2

こんばんは



対象は数値としてよいのでしょうか?
整数かどうかは、isIntegerメソッドで調べられます。
https://developer.mozilla.org/ja/docs/Web/JavaSc …

ただし、上記ページの例にもあるように、(デジタルなので)有効桁数以下の誤差を生じる場合がありますので、厳密に調べたい場合はもう少し工夫が必要かも知れません。
また、文字列の "5" 等もそのままでは整数とは判定されませんので、そのような可能性がある場合には、一旦、数値化してからチェックする必要があります。

ご質問の「自然数」が「1以上の整数」を意味している場合は、上記に併せて「1以上である」ことのチェックも必要になるでしょう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!