お金を端数まで均等に分ける計算機
この計算機は、1つの金額を任意の人数で最小通貨単位まで正確に分割します。同額に割り切れない場合は、余った単位を先頭の人から1つずつ配ります。結果には基準額、余りの数、各人の金額を順番に表示します。浮動小数点による概算ではなく整数の最小単位で計算するため、すべての配分額を足すと入力した合計に必ず一致します。
無料で実行
1単位も不足・超過させずに分けます
均等割りは簡単に見えますが、割り切れない金額では丸め誤差が生じます。10.00を3人で分けて全員を3.33にすると合計は9.99、全員を3.34にすると10.02です。この計算機は、分割前に金額を整数の最小通貨単位へ変換して両方の誤りを防ぎます。まず全員が受け取れる最大の共通基準額を求め、残った単位を数えます。余りも実際のお金なので、1つずつ割り当てます。出力には基準額、大きい配分と小さい配分の件数、受取人ごとの金額が順番に示されます。食事代の精算、共同購入の贈り物、返金、賞金など、元の合計と一致させる必要がある場面で便利です。仕組みを参加者に説明しやすく、後から修正せず支払い処理へ転記できる正確さがあります。
余った最小単位の割り当て方法
優先順位の規則は常に同じです。人を1番から順に番号付けし、余りがなくなるまで先頭から1単位ずつ追加します。たとえば2単位余る場合、1番と2番は基準額に0.01を加えた金額を受け取り、それ以外は基準額を受け取ります。人と人の差は最大でも1単位であり、最小単位を持つ通貨で実現できる最も均等な分け方です。この順序は誰かが多く受け取るべきだという意味ではなく、数学的に同額にできない場合の再現可能な答えです。順番が重要な場合は、人数を入力する前に計算機の外で参加者順を決めるか抽選し、返された番号と氏名の対応を保ってください。計算機は乱数を使わないため、同じ金額と人数なら必ず同じ一覧になります。継続的な支出では先頭を交代し、追加分を長期的に均すこともできます。
金額を正確に入力して結果を確認します
84、84.5、84.50のように、通貨記号を付けず、ピリオドを使った0以上の小数を入力してください。最小単位を基準にするため、小数は2桁までです。次に1人から1000人までの整数を入力します。正規化された合計は小数2桁で表示され、その後に共通の基準額と余りの数が続きます。大きい配分は基準額より正確に1単位多く、小さい配分は基準額と同じです。順序付きの配分一覧が正式な支払いリストで、その合計は元の金額に一致します。通貨名の付与や為替換算は行わないため、すべて同じ通貨で入力してください。負の値、小数点としてのコンマ、通貨記号、端数を含む人数、小数3桁以上の金額は推測せず拒否します。この厳密な規則により、ブラウザー、スクリプト、経費ツール、API連携でも解釈違いを防ぎ、結果を検証できます。
活用例
グループへの返金を分ける
未配分の最小単位を残さず、返金を参加者ごとの正確な支払額へ変換します。
共同購入を分担する
贈り物や家庭用品の代金が割り切れない場合に、可能な限り均等な負担額を求めます。
賞金や寄付を配る
各金額の合計が利用可能な総額と正確に一致する、再現可能な支払い一覧を作成します。
よくある質問
金額を均等に割り切れない場合はどうなりますか?
全員が整数単位の基準額を受け取り、余りがなくなるまで先頭の人から1単位ずつ追加されます。
配分額の合計は必ず元の金額になりますか?
はい。整数の最小単位で割り算し、余りをすべて割り当てるため、一覧の合計は正規化された総額と一致します。
金額にピリオドを使うのはなぜですか?
コンマを桁区切りと誤認しないよう、形式を1つに限定しています。通貨記号は付けずに入力してください。
小数3桁を使う通貨に対応していますか?
いいえ。この機能は最小単位を小数2桁として金額を分ける設計のため、2桁まで受け付けます。
APIリクエストの料金はいくらですか?
APIリクエスト1回の料金は$0.002です。同じ計算機をブラウザーでは無料でご利用いただけます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/divide-money-evenly \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":"100.00","people":3}'const res = await fetch("https://api.kit.forhosting.com/life/divide-money-evenly", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": "100.00",
"people": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/divide-money-evenly",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": "100.00",
"people": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/divide-money-evenly", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":"100.00","people":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":"100.00","people":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/divide-money-evenly", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"amount": "100.00",
"people": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.divide_money_evenly",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |