一日の歩数目標の達成率と残り歩数を計算
一日の歩数目標と現時点の歩数を入力すると、進み具合をすぐに確認できます。目標の達成率、あと何歩必要か、すでに目標を達成したかを明確に返します。個人での確認だけでなく、活動量ダッシュボードや健康管理の自動処理にも利用できます。目標には正の整数、現在の歩数には0以上の整数を指定してください。目標を超えた場合も、超過分を含む有用な結果が得られます。
無料で実行
目標と今日の歩数を入力します
まず、達成したい一日の歩数目標と、現時点までに記録された歩数を入力します。活動量計は歩数を整数で記録するため、どちらも整数で指定してください。目標は0より大きい必要があります。0または負の目標は、意味のある達成率を求める際の分母にできないため、入力エラーになります。現在の歩数は一日の始まりなら0でもかまいません。また、活動量の多い日には目標より大きくても問題ありません。可能であれば、常に同じ機器の合計値を使用してください。腕時計とスマートフォンの値を足すと、両方が同じ散歩を検出して一部を二重に数えることがあります。このツールは、年齢、健康状態、過去の活動から目標を推定せず、目標が適切かどうかも判断しません。入力された2つの数値だけを比較するため、日記、ダッシュボード、通知、個人の習慣などに結果を簡単に再利用できます。
達成率と残り歩数を読み取ります
達成率は、現在の歩数を目標で割り、その結果に100を掛けて求めます。たとえば目標の4分の3を歩いた場合は75パーセントです。循環小数になっても読みやすく、常に同じ結果になるよう、表示値は小数第2位までに丸めます。残り歩数は目標から現在の歩数を引いた値ですが、0より小さくはなりません。目標を達成すると、達成率が100パーセントを超えていても残りは0です。この違いにより、達成率では目標をどれほど上回ったかを確認でき、残り歩数ではあとどれほど必要かを直接把握できます。目標達成の項目は真偽値で返るため、アプリは他の数値を解釈せずに、バッジ、メッセージ、処理を開始できます。結果は送信された値だけから計算され、アカウント履歴、機器の非公開データ、隠れた仮定は使用しません。
日課やアプリケーションで活用します
1回の計算結果を、さまざまな判断に利用できます。日中は、残り歩数を休憩時間や予定している散歩に配分できます。アプリケーションでは達成率をメーターに表示し、その横に正確な残り歩数を示すと状況が伝わりやすくなります。目標達成が真になったら、自動処理で通知を止めたり、その日を完了として記録したりできます。達成率は100パーセントを超えることがあるため、進捗バーの表示上必要な場合を除き、数値自体は上限を設けないほうが追加の活動を正確に残せます。この計算は用途を限定しており、医療上の助言、消費エネルギーの推定、距離の測定ではありません。機器ごとに動作検出方式が異なるため、日ごとの比較には同じ活動量計を使うと信頼性が高まります。単発の確認にはブラウザーが便利で、定期レポートや自動システムには1リクエスト $0.002 の API が適しています。
活用例
個人の歩数目標を確認
一日の終了までに必要な歩数と、現時点の達成率を正確に確認できます。
活動量ダッシュボードに表示
保存した目標と計測値から、達成率、残り歩数、完了状態を生成できます。
運動の通知を制御
一日の目標達成が確認された時点で、リマインダーを自動的に停止できます。
よくある質問
達成率はどのように計算しますか?
現在の歩数を目標で割り、100を掛けます。結果は小数第2位までに丸めます。
目標を超えた場合はどうなりますか?
達成率は100パーセントを超え、残り歩数は0になり、目標達成は真になります。
目標を0または負の数にできますか?
できません。正の整数が必要で、それ以外の場合は無効な入力としてエラーになります。
現在の歩数に負数や小数を使えますか?
使えません。歩数は離散的な数なので、0以上の整数を指定してください。
API の利用料金はいくらですか?
API は1リクエスト $0.002 です。同じ決定論的な計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/final3/step-goal-progress-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"step_goal":10000,"steps_taken":6750}'const res = await fetch("https://api.kit.forhosting.com/final3/step-goal-progress-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"step_goal": 10000,
"steps_taken": 6750
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/final3/step-goal-progress-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"step_goal": 10000,
"steps_taken": 6750
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/final3/step-goal-progress-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"step_goal":10000,"steps_taken":6750}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"step_goal":10000,"steps_taken":6750}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/final3/step-goal-progress-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"step_goal": 10000,
"steps_taken": 6750
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "final3.step_goal_progress_percent",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |