ForHosting KIT · 数学

整数チェッカー

42は整数で、3.0も値が3なので整数ですが、3.0000001は整数ではありません。値を入れると厳密に「はい」か「いいえ」で答え、abcのような文字は「いいえ」にせず、はっきり知らせます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
値
42
結果
値
42

42」「-7.5」「1e3」のようなテキストを送信すると、解析された数値とともに厳密なtrueまたはfalseが返されます。空白・符号・小数・指数表記を正しく解釈し、推測は行いません。「abc」「Infinity」や空文字列のような有限の数でないものは、暗黙のfalseではなく明確なエラーで拒否されます。

整数として認められるもの

整数とは小数部分を持たない数のことです。42、-17、0は整数ですが、3.5や-0.01は整数ではありません。この整数チェッカーは、丸めも許容誤差もなく、標準のNumber.isIntegerによる数学的定義をそのまま適用します。

つまり、小数点付きで書かれていても値が整数に等しい3.0は、値が三であるためtrueを返し、3.0000001はfalseを返します。指数表記は先に解決されるため、1e3は整数(千)であり、1.5e-1は整数ではありません(0.15)。チェックの対象は値そのものであり、書き方ではありません。

小数点以下の末尾のゼロ、先頭のプラス記号、前後の空白はいずれも受け付けられます。数が実際に何であるかを変えないからです。アプリケーションが文字列レベルの厳密さ(たとえば入力された「3.0」をそのまま拒否する)を必要とする場合は、この数値チェックの上に重ねるべき書式ルールです。

有限でない入力がfalseではなくエラーになる理由

数値の検証には二種類の失敗があります。一つ目は、整形式の数値が単に整数でない場合で、これは正当なfalseです。二つ目は、そもそも有限の数ではない入力です。「

hello」「Infinity」「NaN」「12px」や空文字列が該当します。二つ目をfalseに潰してしまうと、データ品質の問題が隠れてしまいます。上流の壊れた除算から「Infinity」を受け取ったパイプラインは、それを暗黙に「整数でない」として処理を続けてしまうのです。

有効な数値入力には常に真偽値が返ります。なお、パーサーは文字列全体の一致に厳格です。「42abc」は拒否され、寛容なパーサーのように42へ切り詰められることはありません。

「3.0」は整数ですか?

はい。 チェックの対象は表記ではなく数値です。3.0は3に等しいため整数です。「3.5」や「1.5e-1」のような形は整数ではありません。

指数表記は使えますか?

はい。「 1e3」は1000として解釈されtrueを返します。「1.5e-1」は0.15でfalseを返します。

丸めや整数に近い値の許容はありますか?

いいえ。 チェックは厳密で、3.0000001は整数ではなくfalseを返します。丸めるかどうかはアプリケーション側で明示的に決めるべき別の判断です。

負の数は対応していますか?

はい。-17は整数で、-0.01は整数ではありません。先頭のプラス記号や前後の空白も受け付けます。

「abc」や「Infinity」を入れるとどうなりますか?

「いいえ」ではなく、数として読めない値だという分かりやすいエラーが返ります。有限の数でないものを「整数ではない」と扱うとデータの問題が隠れてしまうため、はっきり区別しています。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/math/integer

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/math/integer \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"42"}'
{
  "value": "42"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.integer",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

整数チェックAPIは、一見単純な問いに答えます。この値は整数でしょうか。「小数値が整数しか受け付けないフィールドに紛れ込む前に、フォーム入力・APIペイロード・データインポートの検証にご利用ください。

有限でない入力がfalseではなくエラーになる理由

このエンドポイントは意図的にこの二つを区別します。それ以外はすべて、何が問題だったかを説明するメッセージ付きのinvalid_inputエラーが返るため、コードは処理を止め、問題の値を記録し、ゴミを伝播させる代わりに速やかに失敗できます。

統合方法

非常に大きな絶対値には注意が必要です。2^53を超えると倍精度フォーマットはすべての整数を区別して表現できないため、9007199254740993は隣接する値と区別がつきません。同じコードはこのページ上のブラウザで無料で実行でき、手軽に試せます。値はvalueという名前のフィールドに、常にテキストとして送信してください。便宜上、number・n・inputというエイリアスも受け付けます。レスポンスには解析された数値と真偽値の結果が含まれるため、一度の呼び出しで検証と変換の両方が完了します。典型的な統合では、整数型のデータベースカラムに書き込む前のユーザー入力検証、IDが整数である必要があるCSVインポートでの行のフィルタリング、数量を受け付けるAPIエンドポイントの保護を行います。これはこのチェック固有のものではなく、JavaScript互換のあらゆるシステムが共有するIEEE-754フォーマットの性質です。大規模に自動化する場合のAPI料金は1リクエスト$0.002です。

フォームとAPI入力の検証

整数型のデータベースカラムに届く前に小数の数量を拒否し、ユーザーに見せられる明確なエラーを返します。

データインポートの行のフィルタリング

CSVまたはJSONのインポート中に、混在した値の列を整数と非整数に分け、無効なものを隔離します。

整数専用エンドポイントの保護

サービスの境界でページ番号・カウント・IDをチェックし、小数や有限でない入力が下流のロジックを壊す前に速やかに失敗させます。

料金はいくらですか。

API経由で1リクエスト$0.002です。このページ上のブラウザでも無料で実行できます。

「Infinity」や「abc」はどうなりますか。

有限の数ではないため、invalid_inputエラーで拒否されます。trueまたはfalseが返るのは整形式の数値入力だけです。

KITの完全なドキュメントを見る →