文字評価と単位数から加重GPAを計算
この計算ツールは、各科目の文字評価を4.0スケールの標準値に換算し、その値に科目の単位数を掛け、品質ポイントの合計を総単位数で割ります。プラス・マイナス付き評価に対応し、科目ごとの寄与と結果に使った合計値を表示します。学期GPAの確認、学業平均の見積もり、または表計算の数式に頼らない一貫したGPA計算をアプリケーションへ組み込む際にご利用いただけます。
無料で実行
平均に含める評価と単位数を入力してください
GPAに含める科目または評価項目ごとに1行を作成し、文字評価を選択して、対応する正の単位数を入力してください。GPAは評価値の単純平均ではなく加重平均であるため、単位数が重要です。たとえば4単位科目のAは、2単位科目のAの2倍の品質ポイントになります。本ツールはA+、A、A-、対応するすべてのB、C、D評価、およびFに対応します。この固定スケールではA+とAはいずれも4.0で、プラスとマイナスは一般的な3.7、3.3などの段階を使います。所属機関がGPAに算入する科目だけを入力してください。合否評価、履修取消、未完了、聴講、編入科目は除外される場合がありますが、規則は機関ごとに異なります。再履修が以前の成績を置き換える制度では、公式に算入される履修だけを含めてください。表示する小数桁は0から4まで選べますが、元の加重計算自体は変わりません。
加重GPAの計算方法と返される合計値をご確認ください
各行について評価点を調べ、入力された単位数を掛けます。この積が品質ポイントです。たとえば評価点3.3のB+を3単位科目で取得した場合、品質ポイントは9.9です。すべての行の品質ポイントと単位数をそれぞれ合計し、品質ポイント合計を総単位数で割ると、単位加重GPAになります。結果にはGPA、総単位数、品質ポイント合計、科目数、スケール名、および各科目の内訳が含まれます。成績証明書や別の計算結果と異なる場合は、評価の対応表、単位数、算入科目を行ごとに比較してください。丸めは指定された精度で表示する値にだけ適用され、GPAを表示する前の計算には入力したすべての行が使われます。単位数は有限かつ0より大きい必要があるため、空欄、0単位、または不正な行は、分母をひそかに変えることなく明確な入力エラーになります。
見積もりを所属機関の公式規則と比較してください
結果は透明性のある計算値として扱い、公式の成績証明書や教務部門の判断の代わりにはしないでください。文字評価のスケールは学校によって異なります。A+を4.33とする、D-やプラス・マイナス評価を使わない、特定課程を4.0上限とする、大学院で異なる値を使う場合があります。再履修、成績免除、編入単位、補習科目、履修取消、合否評価の扱いも異なります。本ツールは、同じ入力から常に同じ出力を得られるよう、文書化された1種類の4.0対応表を使用します。学校名から規則を推測したり、動的に変更したりしません。出願、奨学金基準、在籍判定、卒業計画にGPAを使う前に、公開された規程とスケールおよび算入条件を照合してください。自動化する場合は、同じ成績データを1リクエスト$0.002でAPIへ送り、返された内訳を元データと保存してください。算入した行、評価点、加重寄与、最終除算に使った正確な合計を監査できます。
活用例
学期GPAを確認する
最終評価と各科目の単位数を組み合わせ、正式発表前に加重平均をご確認いただけます。
出願用GPAを見積もる
対象科目から透明性のある見積もりを作り、行ごとの品質ポイント内訳を保存できます。
学業計算を自動化する
学生向けツール、履修指導、内部報告に決定的な評価換算と単位加重を追加できます。
よくある質問
文字評価からGPAをどのように計算しますか?
各評価を点数に換算して単位数を掛け、品質ポイント合計を総単位数で割ります。
この計算ツールはどのスケールを使いますか?
固定4.0スケールです。A+とAは4.0、A-は3.7、B+は3.3で、D-は0.7、Fは0です。
A+は4.0を超えますか?
いいえ。本ツールのスケールでは、A+とAはいずれも4.0ポイントです。
合否評価や履修取消科目も含めますか?
所属機関が評価点を割り当て、単位をGPAに算入する場合だけ含めてください。不明な場合は公式規則をご確認ください。
API計算の料金はいくらですか?
APIリクエスト1回につき$0.002です。計算は決定的で、外部サービスを使用しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/gpa-from-letter-grades \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"grades":[{"grade":"A","credits":3},{"grade":"B+","credits":4}]}'const res = await fetch("https://api.kit.forhosting.com/edu/gpa-from-letter-grades", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"grades": [
{
"grade": "A",
"credits": 3
},
{
"grade": "B+",
"credits": 4
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/gpa-from-letter-grades",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"grades": [
{
"grade": "A",
"credits": 3
},
{
"grade": "B+",
"credits": 4
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/gpa-from-letter-grades", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"grades":[{"grade":"A","credits":3},{"grade":"B+","credits":4}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"grades":[{"grade":"A","credits":3},{"grade":"B+","credits":4}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/gpa-from-letter-grades", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"grades": [
{
"grade": "A",
"credits": 3
},
{
"grade": "B+",
"credits": 4
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.gpa_from_letter_grades",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |