毛糸の代用計算機
1200ヤード必要な作品なら、220ヤードの玉は6玉、180ヤードの玉は7玉です。1200を180で割ると6と3分の2になるためです。ヤード数と両方の玉の長さを入れて、足りる分だけ買えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ヤード数
- 1,200
- 玉の長さ
- 220
- 代用糸の玉の長さ
- 180
- 指定糸の玉数
- 6
- 代用糸の玉数
- 7
- 長さの比率
- 1.2222222222
毛糸のブランドや太さを変えることは、パターンに指定された玉が買えない編み物・かぎ針編みをする方にとって日常的な判断です。この毛糸代用計算機は、パターンの合計ヤード数、指定糸1玉の長さ、代用糸1玉の長さを受け取り、透明な切り上げ除算で、購入が必要な代用糸の玉数を返します。玉の長さがゼロの場合は無効な入力として拒否されるため、フォームの不具合でゼロ除算が起きたり、無限の毛糸供給が捏造されたりすることはありません。
ヤード数と玉の長さから代用玉数を計算する仕組み
購入すべき代用糸の玉数は、パターンのヤード数を代用糸1玉の長さで割った値の切り上げです。セーターに1200ヤードが必要で、代用糸1玉が180ヤードなら、1200÷180は6と3分の2なので、7玉必要です。毛糸は丸ごとの単位でしか売られていないからです。
玉の長さがゼロまたは負の場合、ゼロ除算になったりかせの意味が反転したりするため、製品コントラクト上のハードエラーです。代用糸の長さがゼロまたは負の場合も同様に拒否されます。負のヤード数は無効で、ゼロのヤード数は、空のプロジェクトや廃盤プロジェクトに対して0玉を返します。
大きさの上限により、Workerアイソレート上で結果は有限に保たれます。
手芸での使い方と注意点
在庫整理、教室のデモ、店頭での簡単な確認には、スプレッドシートをインストールせずに、無料のブラウザ版・毛糸代用計算機をお使いください。バリデーション失敗は残高を消費しません。ラベルにヤードとメートルが混在する場合は、別の単位換算ツールと組み合わせてください。
先に換算してから、1つの単位系でここを呼び出します。多色プロジェクトでは色ごとに1回呼び出し、各合計がログやサポートチケットで監査できるようにします。ソース入力は他のKIT parse 項目と同じ保持ルールに従い、アルゴリズムは完全に決定的なため、結果は継続的インテグレーションの固定データに安全に組み込めます。
活用例
在庫整理と買い物リスト
パターンの合計ヤード数と新しい玉の巻き単位から、切りのよい整数の玉数に換算し、カートツールや買い物リストが不足なく毛糸を購入できます。
毛糸店・マーケットプレイスのツール
ショップや手芸マーケットプレイスが、顧客がブランドを変更した際に代用玉数を見積もり、店頭での「これは何玉必要ですか?」という質問に答えるのを助けます。
パターン出版社とプロジェクト計画ツール
読者がデザインを別のかせ長や太さの巻き単位に適応させる際、指定糸と代用糸の玉数を並べて表示します。
よくある質問
ヤード数と玉の長さは同じ単位が必要ですか?
はい。 全体をヤードで統一するか、メートルで統一してください。この計算機は単位を換算しないため、単位系が混在すると、算術自体は動いても玉数が誤りになります。
毛糸の代用計算機は無料ですか?
ブラウザツールは無料で、お使いの端末上で動作します。バリデーション失敗には課金されません。
結果が必ず切り上げになるのはなぜですか?
毛糸は玉単位でしか買えないからです。1200ヤード必要で新しい玉が180ヤードなら、ちょうどの計算は6と3分の2なので、足りなくならないよう7玉を買います。
同じ太さの毛糸なら長さも同じですか?
いいえ。同じ太さでも、繊維の密度が違えば1玉の長さが変わります。玉の長さには太さではなく、ラベルに書かれた長さを入力してください。
ゲージやロットも確認してくれますか?
いいえ。必要な長さを何玉でまかなえるかを数えるだけです。単位の換算、ゲージの確認、染めロットの照合は行わないため、決める前に試し編みをしてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/yarn-substitution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"yardage":1200,"skein_length":220,"substitute_skein_length":180}'const res = await fetch("https://api.kit.forhosting.com/hobby/yarn-substitution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"yardage": 1200,
"skein_length": 220,
"substitute_skein_length": 180
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/yarn-substitution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"yardage": 1200,
"skein_length": 220,
"substitute_skein_length": 180
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/yarn-substitution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"yardage":1200,"skein_length":220,"substitute_skein_length":180}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"yardage":1200,"skein_length":220,"substitute_skein_length":180}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/yarn-substitution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"yardage": 1200,
"skein_length": 220,
"substitute_skein_length": 180
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.yarn_substitution",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
yardage、skein_length、substitute_skein_length を入力すると、substitute_skeins、比較用の original_skeins、長さの比率が決定的なJSONで得られ、プロジェクト計画ツール、手芸アプリ、ショップツールに使えます。
ヤード数と玉の長さから代用玉数を計算する仕組み
この関係は、すべてのフィールドで一貫した単位を使う限り、ヤードで測ってもメートルで測っても成り立ちます。必須フィールドの yardage、skein_length、substitute_skein_length は、JSONの数値または数値文字列として送信してください。エイリアスの yards、metres、meters、total_yardage、yarn_needed は yardage に、original_skein_length、pattern_skein、hank_length、ball_length は skein_length に、sub_skein_length、new_skein_length、substitute_length、sub_length は substitute_skein_length にマッピングされます。同一の入力は常に同一のJSONを生成します。
レスポンスフィールドの読み方と指定糸・代用糸の比較
丸められた販促表現より、正直なラベル記載の長さを優先し、同じ太さの玉でも、繊維密度が変わればヤード数が異なりうることにご注意ください。完全な毛糸アドバイザーではなく、透明な長さの算術です。成功時のレスポンスは、安定した丸めを適用した yardage、skein_length、substitute_skein_length をそのまま返し、さらに、original_skeins(yardage を指定糸1玉の長さで割った切り上げ)、substitute_skeins(yardage を代用糸1玉の長さで割った切り上げ)、length_ratio(指定糸の長さ÷代用糸の長さ)、人が読める formula 文字列、および ceil_yardage_over_substitute_length に等しい method を返します。買い物リストに購入数量が1つ必要なら substitute_skeins を、パターン本来の玉数が記載のかせサイズでどう見えたかを知りたいなら original_skeins を、2つの巻き単位を一目で比較したいなら length_ratio を使ってください。formula フィールドは数値の横に表示しても安全で、利用者は「代用玉数=ヤード数÷代用糸の長さの切り上げ」を確認できます。このエンドポイントは、単位の換算、ゲージスワッチの確認、染色ロットの照合、繊維素材の推奨は行いません。必須フィールドの欠落、非有限値、ゼロまたは負の玉の長さはすべて invalid_input で失敗し、エンジンがリクエストを拒否した後は課金されないため、不正なフォーム送信がバリデーション失敗でプリペイド残高を消費することはありません。
APIの利用、料金、手芸のワークフロー、実用上の限界
yardage、skein_length、substitute_skein_length(または記載のエイリアス)を含むJSONボディを送信します。手芸マーケットプレイス、在庫アプリ、パターン出版社、毛糸店のキオスク、プロジェクト計画ツールが安定したコントラクトを必要とする場合は、KIT残高のプリペイドAPIを成功1件あたり $0.002 で利用します。
技術的な質問
代用糸を何玉買えばよいか計算するには?
yardage(パターンの合計長さ)、skein_length(指定糸のかせの長さ)、substitute_skein_length(新しい玉の長さ)を含むJSONを送信します。レスポンスの substitute_skeins は ceil(yardage / substitute_skein_length) です。
玉の長さがゼロの場合はどうなりますか?
リクエストは invalid_input で失敗します。skein_length(または substitute_skein_length)がゼロまたは負の場合は拒否され、計算機がゼロ除算を行うことはありません。バリデーション失敗には課金されません。
なぜ結果は単純な除算ではなく切り上げなのですか?
毛糸は丸ごとの玉でしか売られていないからです。6.67のような小数の結果は、残りのヤード数を賄うために7玉目が必要であることを意味するため、substitute_skeins は常に切り上げられます。