打率計算
ヒット数125、打数412なら打率は.303です。割り算の結果0.303398を小数点以下3桁に丸め、スコアボードと同じく先頭のゼロを省いて表示します。打数ゼロは無限大にせず受け付けません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 安打
- 125
- 打数
- 412
- 平均
- 0.303
- 表示
- .303
打率計算ツールは、選手のヒット数と打数を受け取り、スコアブック・記録集・ランキングに掲載されるのとまったく同じ形式で、小数点以下3桁に丸めた打率を返します。2つの数値を送信するだけで、数値としての打率と、野球が1世紀以上使ってきた「.303」のような伝統的な表示形式の両方を受け取れます。
打率が実際に測っているもの
打率は打者の最も古く、最も単純な指標です。ヒット数を打数で割ったものです。412打数で125本のヒットを放った選手は打率.303であり、この1つの数字がシーズン全体を比較可能な値に圧縮します。
この指標は意図的に限定されています。四球・死球・犠牲フライは、公式記録規則で打数に含まれないため、すべて除外されます。この限定こそが計算式が重要である理由です。
打数の代わりに打席数を使えば、結果は別の、より低い数値になり、それはもはや打率ではありません。当打率計算ツールは公式の定義のみを実装しています。出塁率や長打率を計算しようとはせず、どの記録がカウントされるかを推測もせず、統計を定義不能にする唯一の入力、つまり打数ゼロを拒否します。
ゼロで割ってもランキングで意味を持つ数値は得られないからです。
結果が小数点以下3桁に丸められる理由
野球では19世紀以来、打率を小数点以下3桁で表記してきました。この慣習には重みがあります。首位打者のタイトルが3桁目で決まったこともあるからです。
ヒット数を打数で割った生の商がきれいな数になることはほとんどありません。125÷412は0.303398...です。 そのため、当ツールは標準的な文字列丸めで正確に3桁に丸め、数値の0.303と、スコアボードや新聞の表記どおりに先頭のゼロを省いた伝統的な表示文字列「.303」の両方を返します。
丸めは決定的で、マシン間で安定しています。出力に未丸めの浮動小数点数はなく、ロケール依存の書式も現在の日付への依存もありません。
アプリ・スプレッドシート・パイプラインでの利用
ヒット数が打数を超えることはあり得ないため、バリデーターはその組み合わせを事前に拒否し、ランキングを破壊する1.000超の打率を黙って返すことはありません。また、打数のない選手に打率は存在しないため、打数ゼロは無限大やNaNではなく、明確な入力不正エラーを返します。
スポーツアプリは試合終了時にこれを呼び出して選手のシーズン成績を更新し、統計担当者はロースター出力に対してバッチ実行し、ファンタジープラットフォームはユーザーに表示する数値が保存される数値と同じ方法で計算されるよう組み込んでいます。入力は常にちょうど2つの数値なので、行単位の課金はなく、価格は1つだけです。
活用例
選手のシーズン成績を更新する
各試合後、新しいヒット数と打数をシーズン合計に加算し、ランキングに表示する打率を再計算します。
ロースターのエクスポートを一括処理する
チームのヒット数と打数の列を順に処理し、全選手の小数点以下3桁の打率を一度のパスで取得します。
統計を正しく教える
10打数3安打がなぜ.300になるのか、四球がなぜカウントされないのかを、公式定義を適用する計算ツールで学生に示します。
よくある質問
打率はどのように丸められますか?
野球の標準的な慣習に従い、正確に小数点以下3桁に丸められます。結果は決定的で、同じ入力は常に同じ出力を生成します。
四球や犠牲フライは打数にカウントされますか?
いいえ。 公式記録規則では打数ではないため、お客様が送信する打数に含めてはいけません。
表示文字列がなぜピリオドで始まるのですか?
野球の伝統では、1.000未満の打率は先頭のゼロを付けず「0.303」ではなく「.303」と書きます。両方の形式が返されます。
ヒット数が打数を超えることはありますか?
いいえ。 計算ツールはその入力を拒否します。1.000を超える打率は定義上あり得ません。
打数がゼロのときはどうなりますか?
打数ゼロは受け付けません。打数のない選手には打率がなく、ゼロで割った数字はランキングで意味を持たないためです。無限大や空の値を返すことはありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/sports/batting-average-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hits":125,"at_bats":412}'const res = await fetch("https://api.kit.forhosting.com/sports/batting-average-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hits": 125,
"at_bats": 412
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sports/batting-average-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hits": 125,
"at_bats": 412
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sports/batting-average-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hits":125,"at_bats":412}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hits":125,"at_bats":412}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sports/batting-average-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hits": 125,
"at_bats": 412
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sports.batting_average_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ブラウザでは無料で、API経由では自動化のために、同一の決定的な計算式を実行します。このページに表示される数値と、お客様のパイプラインが受け取る数値は完全に一致します。
アプリ・スプレッドシート・パイプラインでの利用
APIはヒット数と打数を受け取り、打率・表示文字列・それらを生成した計算式を、小さな1つのJSONオブジェクトで返します。同じモジュールがこのページのブラウザで無料で動作し、自動化のコストは1リクエスト$0.002です。
技術的な質問
料金はいくらですか?
API経由で1リクエスト$0.002です。このページのブラウザでの実行も無料です。
打数がゼロの場合はどうなりますか?
リクエストは入力不正エラーで拒否されます。打数のない打率は定義されないため、数値は返されません。