単価計算ツール
2ポンドで13.99のコーヒーは32オンス入りなので、12オンスで6.49の袋よりオンスあたりで安くなります。各商品の価格、量、単位を入れるだけで、どれがお得かが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 変換先の単位
- Oz
- 次元
- weight
- 数量
- 2
- 最良のインデックス
- 1
- 最良のインデックス (複数)
- 1
この単価計算ツールを使うと、内容量が異なる商品を同じ基準で比較できます。各商品の価格、数量、単位を入力し、表示単位を選択してください。指定しない場合は最初の商品の単位を使用します。互換性のある重量、容量、個数を換算してから価格を数量で割り、最安の商品と同率の商品を示します。計算は決定的で、通信やデータ保存は行いません。
包装価格を共通の基準で比較します
店頭の合計価格だけでは、どの商品がお得か判断できないことがあります。大きなボトルは合計額が高くても、1ミリリットル当たりでは安い場合があります。商品ごとに包装全体の価格、表示数量、単位を入力してください。
重量ではグラム、キログラム、オンス、ポンド、容量ではミリリットル、リットル、米液量オンス、米ガロン、個数ではcountとdozenに対応します。すべての包装を目標単位へ換算し、価格を換算後の数量で割って、最小値を最安として示します。1商品の単価だけを求めることもできます。
重量と容量を直接比較することはできません。結果には元の数量と単位に加えて正規化した数量も含まれるため、換算と除算の内容をご確認いただけます。
有効な価格、数量、単位を入力します
価格と数量には通常の数値を使用してください。価格は0でも構いませんが、負数は使えません。数量は0より大きい必要があります。
0による除算では有効な単価を定義できないためです。商品名は任意で、省略時には商品1のような一定の名称が付けられます。換算係数は固定され、1キログラムは1000グラム、1ポンドは453.59237グラム、1リットルは1000ミリリットル、1米ガロンは3785.411784ミリリットルです。
通貨換算、税金、クーポン、会員費、品質評価は行いません。実際の支払額に影響する場合は、入力価格を事前に調整してください。
活用例
食品包装の価格比較
容量が異なる袋、ボトル、複数個包装を共通単位で比較し、最安を選べます。
調達カタログの確認
仕入先の包装価格を正規化し、商品承認や低コスト候補の選定に利用できます。
ECサイトの単価表示
商品ページやテスト向けに、重量、容量、個数当たりの価格を一貫して生成します。
よくある質問
単価はどのように計算しますか?
包装数量を目標単位へ換算し、包装価格をその正規化数量で割ります。
ポンドとオンス、リットルとミリリットルを比較できますか?
はい。 互換性のある重量または容量の単位は、比較前に自動換算されます。
グラムとミリリットルのように、重さと容量を比べられますか?
比べられません。1回の比較では、すべての商品を重さ、容量、個数のどれか同じ種類の単位で表す必要があります。意味のない数字が出るのを防ぐためです。
2つの商品の単価が同じ場合はどうなりますか?
完全に同じ単価は同点として扱われ、最も安い単価の商品がすべてお得と表示されます。一覧の最初の商品だけが選ばれることはありません。
税金やクーポン、会費は計算に含まれますか?
含まれません。通貨の換算や品質の評価も行いません。これらを考慮したい場合は、計算の前に各商品の価格に反映させてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/finance/price-per-unit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}'const res = await fetch("https://api.kit.forhosting.com/finance/price-per-unit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/price-per-unit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/price-per-unit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"products":[{"name":"Small coffee","price":6.49,"quantity":12,"unit":"oz"},{"name":"Large coffee","price":13.99,"quantity":2,"unit":"lb"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/price-per-unit", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"products": [
{
"name": "Small coffee",
"price": 6.49,
"quantity": 12,
"unit": "oz"
},
{
"name": "Large coffee",
"price": 13.99,
"quantity": 2,
"unit": "lb"
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.price_per_unit",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_products | 1 |
max_products | 50 |
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
単発の買い物ではブラウザーで利用でき、カタログや購買処理を自動化する場合は $0.002 でAPIを呼び出せます。
包装価格を共通の基準で比較します
target_unitを省略すると、最初の商品の単位が使われます。同じリクエストでは、すべての商品を重量、容量、個数のいずれか同じ次元にそろえてください。
有効な価格、数量、単位を入力します
APIを呼び出す前に、通貨記号、桁区切り、地域固有の文字を取り除いてください。有限のJSON数値だけを受け付けることで、誤った解釈を防ぎます。表示慣行を指定する場合はtarget_unitを選択してください。不正な行には架空の値ではなくinvalid_inputを返します。
結果を読み取り、購入判断に活用します
正常な応答には共通の次元、目標単位、商品数、products配列が含まれます。食品比較、仕入先審査、在庫取込、消費者教育、ECサイトのテストなどに利用できます。ただし、余剰品が期限切れになる場合、保管場所が足りない場合、品質が異なる場合は、単価が最安でも最適な購入とは限りません。内容量が実際に比較可能かもご確認ください。各レコードには元の価格、数量、単位、換算数量、price_per_unit、is_best_valueが入ります。best_indexは最初の最安行を示し、安定した丸め後に同率となる行はbest_indexesにすべて列挙されます。best_nameとbest_price_per_unitは画面表示や購買規則に便利です。同じJSON入力からはブラウザーでもAPIでも常に同じ出力が得られます。成功したAPI計算の料金は $0.002 です。監査時は価格をnormalized_quantityで割り、price_per_unitと一致することをご確認ください。
技術的な質問
重量と容量を比較できますか?
いいえ。重量、容量、個数は別の次元です。混在時は意味のない結果を避けるためinvalid_inputを返します。
2商品が同じ単価の場合はどうなりますか?
同率商品すべてにis_best_valueを付け、best_indexesに列挙し、best_indexは最初の行を示します。
API計算の料金はいくらですか?
成功したリクエストは $0.002 です。ブラウザーでは同じ決定的計算をローカルで実行します。