حاسبة تقسيم التكلفة بالأوزان
عند تقسيم 1000 بالأوزان 2 و1 و1 تكون الحصص 500 و250 و250، ويمكنك أيضًا إدخال نسب مئوية مجموعها 100. يحصل كل طرف باسمه على مبلغ دقيق يعود مجموعه إلى الإجمالي. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الكمية
- 1,000
- وضع الحساب
- Weight
- عدد الأطراف
- 3
- مجموع الأوزان
- 4
- الدقة
- 2
- الكميات
- 500, 250, 250
تأخذ حاسبة تقسيم التكلفة بالأوزان فاتورة واحدة أو تأمينًا أو بند مشروع وتقسمها بين أطراف مسماة بأوزان نسبية أو بنسب مئوية صريحة. تستخدمها الأسر عندما يشغل زميل غرفة أكبر، وتمنح الأزواج الذين يستقبلون ضيوفًا وزنًا مزدوجًا لمقعد مشترك، وتفوتر فرق المشاريع أصحاب المصلحة وفق حصص متفق عليها. بخلاف مقسم نفقات مفصّلة يجمع أولًا كثيرًا من الإيصالات، تبدأ هذه الأداة من مجموع واحد تعرفه سلفًا وتبلّغ المبلغ الدقيق لكل طرف حتى تعود الحصص إلى ذلك المجموع. الأوزان المتساوية تنتج قسمة متساوية؛ ونمط اثنان-واحد-واحد يعطي الطرف الأول النصف؛ والنسب التي تبلغ مئة تسقط مباشرة على الفاتورة. تُرفض أوزان مجموعها صفر ونسب لا تبلغ مئة بدل أن تُخترع في صمت.
كيف تصبح الأوزان والنسب المبلغ الدقيق لكل طرف
ابدأ بتكلفة مشتركة واحدة تعرفها سلفًا: تأمين إيجار، أو فاتورة مقاول، أو هدية جماعية، أو تسوية قانونية، أو ميزانية مشروع. لا تطلب منك هذه الحاسبة تفصيل الإيصالات. تقدّم ذلك المجموع في الحقل amount ثم تسرد طرفين مسمّيين على الأقل، لكل منهما رقم حصة غير سالب.
يقرر الحقل mode كيف تُقرأ تلك الأرقام. في وضع weight تكون الأرقام أوزانًا نسبية. يجمعها المحرك ويتلقى كل طرف المجموع مضروبًا في وزن ذلك الطرف مقسومًا على مجموع الأوزان.
إذن اثنان وواحد وواحد تعني نصفًا ورُبعين، سواء فكرت في غرف أو رؤوس أو وحدات ملكية. في وضع percent يكون كل رقم نسبة مئوية من المجموع، ويجب أن تبلغ النسب مئة تمامًا. أربعون وخمسة وثلاثون وخمسة وعشرون من مئتين تصبح ثمانين وسبعين وخمسين.
تُسمح أوزان أو نسب فردية صفر عندما يُعفى أحدهم في هذه التسوية، ما دامت الأطراف الباقية تكوّن مجموعًا صالحًا. تُرفض المجاميع السالبة والحصص السالبة لأن هذا النموذج يصف تكلفة يُراد استردادها لا دفتر مرتجعات. تُرفض قوائم الأطراف الفارغة، والطرف الواحد، وغياب amount، والقيم غير المنتهية، ومجموع أوزان صفر للسبب نفسه: سيغدو المبلغ الدقيق غير معرّف أو بلا معنى.
تبقى رموز العملة خارج الحساب حتى تعمل الأرقام نفسها للدولار أو اليورو أو أي وحدة اختارتها الجماعة سلفًا. تُقرَّب النتائج إلى دقة نقدية من منزلتين عشريتين افتراضيًا، ويمتص آخر طرف ذي حصة موجبة باقيًا بمقدار وحدة واحدة حتى تعود المبالغ المبلَّغ عنها إلى المجموع المقرَّب.
أين ينتمي تقسيم التكلفة بالأوزان وما الذي ليس هو
يحتاج زملاء السكن الذين يسوّون إيجارًا شهريًا معلومًا أو تأمينًا واحدًا إلى جواب موثوق عندما تختلف أحجام الغرف، فيعيّنون أوزانًا بدل القسمة المتساوية ونشر التخمينات في محادثة. المؤسسون المشاركون الذين يقسمون فاتورة مقاول بحسب حصص الملكية، وأمناء صناديق الفرق الذين يستردون حجز ملعب، والأسر التي تقسم إيجار عطلة بحسب ليالي الإشغال، يبدأون جميعًا من مجموع واحد وجدول أسماء قصير. قصد البحث هنا حاسبة تقسيم تكلفة بالأوزان: تكلفة معلومة واحدة، أطراف مسماة، أوزان أو نسب، مبالغ دقيقة تعود إلى المجموع.
ذلك استعلام مختلف عن مقسم نفقات مفصّلة يجمع أولًا كثيرًا من الإيصالات، وعن حاسبة بقشيش وقسمة تضيف نسبة مطعم ثم تقسم بالرؤوس، وعن مقسم وقود ورسوم طريق يفترض ركابًا متساوين. لا تتوقع تحويل عملة ولا ضريبة ولا دفاتر من دفع سلفًا ولا رسوم ديون ثنائية؛ فتلك لأدوات مخصصة. استخدم هذه الصفحة عندما يكون السؤال الوحيد كم يدين كل طرف مسمّى من تكلفة لديك أصلًا.
حالات الاستخدام
إيجار أو تأمين غير متساوٍ بين الزملاء
اقسم إيجارًا شهريًا أو تأمينًا معلومين بحسب حجم الغرفة أو ليالي الحضور، وانشر المبلغ الدقيق لكل طرف بلا جدول مشترك.
نسب الملكية أو الإشغال
استرد فاتورة مقاول أو إيجار عطلة من أصحاب مصلحة تبلغ نسبهم المتفق عليها مئة، واترك الباقي صفرًا.
روبوتات التسوية وأدوات التمويل
مرّر مجموعًا واحدًا وجدول أطراف إلى روبوت خلفي أو أداة مدونة مجانية حتى تطابق طلبات الدفع الحساب نفسه الذي في أداة المتصفح.
الأسئلة الشائعة
كيف يُحسب مبلغ كل طرف؟
في وضع weight يتلقى كل طرف amount × (وزنه ÷ مجموع الأوزان كلها). في وضع percent يتلقى amount × (نسبته ÷ 100)، ويجب أن تبلغ النسب 100. تُقرَّب المبالغ إلى الدقة المطلوبة وتُعدَّل حتى تعود إلى المجموع.
ما الفرق بين وضع weight ووضع percent؟
الأوزان نسبية: 2 و1 و1 تعني دائمًا 50% و25% و25% من المجموع حتى إن لم تبلغ 100. النسب حصص مطلقة من الفاتورة ويجب أن تبلغ 100 وإلا رُفض الطلب.
ماذا يحدث إن كانت الأوزان كلها صفرًا، أو إن لم تبلغ النسب 100؟
مجموع أوزان صفر يقسم على صفر، ومجموع نسب غير 100 يترك بقية غير مخصصة ترفض هذه الحاسبة اختراعها.
هل يجوز أن تكون حصة أحد الأطراف صفرًا؟
نعم، ما دامت الأطراف الأخرى ما تزال تكوّن مجموعًا صالحًا (مجموع أوزان موجب، أو نسب تبلغ 100). يُبلَّغ عن طرف حصته صفر بـ amount صفر في هذه التسوية.
لماذا يتطابق المجموع تمامًا بعد التقريب؟
لأن آخر طرف له حصة موجبة يتحمل فرق التقريب البالغ وحدة واحدة. بهذا تساوي المبالغ المعروضة معًا الإجمالي المقرّب تمامًا، بمنزلتين عشريتين افتراضيًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/life/weighted-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}'const res = await fetch("https://api.kit.forhosting.com/life/weighted-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/weighted-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/weighted-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/weighted-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.weighted_split",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_parties | 200 |
max_abs_value | 1000000000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
الدالة الخالصة نفسها تشغّل الأداة المجانية في المتصفح وواجهة API بسعر $0.002 لكل طلب ناجح.
كيف تصبح الأوزان والنسب المبلغ الدقيق لكل طرف
إذا بلغت النسب تسعين أو مئة وخمسة يفشل الطلب برمز invalid_input بدل التطبيع الصامت أو ترك بقية لم يتفق عليها الجماعة. المسار حساب عائم حتمي بلا شبكة ولا بذور عشوائية ولا ساعة، لذا تنتج المدخلات المتطابقة دائمًا JSON نفسه.
ما الذي ترسله وما الذي تسترده وأي أخطاء لا تُفوتر
أرسل حقلين إلزاميين وحقلين اختياريين. تشمل الفحوص الكلاسيكية ألفًا بأوزان اثنين وواحد وواحد فتعطي خمسمئة ومئتين وخمسين ومئتين وخمسين، أو مئتين بنسب أربعين وخمسة وثلاثين وخمسة وعشرين فتعطي ثمانين وسبعين وخمسين. وصّل النموذج المجاني في المتصفح لمحادثات السكن واجتماعات الانطلاق، ثم استدعِ العقد ذاته من السكربتات عندما يحتاج روبوت أو خلفية الأرقام نفسها. الحقل amount هو التكلفة المشتركة رقمًا منتهيًا غير سالب أو سلسلة رقمية؛ وتُقبل الأسماء البديلة total وcost وtotal_cost وbill حتى تعيد الجداول والنماذج استخدام اسم عمود مألوف. الحقل parties مصفوفة من كائنين على الأقل، لكل منهما اسم عرض وweight غير سالب، أو سلسلة JSON لتلك المصفوفة؛ وتُقبل الأسماء البديلة people وshares. الحقل الاختياري mode مجموعة مغلقة weight أو percent وافتراضه weight؛ وتُقبل الأسماء البديلة split_mode وas. الحقل الاختياري precision عدد صحيح من صفر إلى ثمانية وافتراضه منزلتين عشريتين نقديتين؛ وتُقبل الأسماء البديلة decimals وdp. غياب الحقول الإلزامية، والسلاسل غير الرقمية، وNaN، وInfinity، وأقل من طرفين، وأكثر من مئتي طرف، والمبالغ السالبة، والأوزان السالبة، وmode مجهول، وصف بلا اسم لا يمكن وسمه، ومجموع أوزان صفر في وضع weight، وعمود نسب لا يبلغ مئة، كلها تفشل برمز invalid_input ولا تُفوتر. عند النجاح تعيد الاستجابة المبلغ المقرَّب amount والوضع المحلول mode وparty_count وweight_sum وprecision؛ ومصفوفة parties من كائنات فيها name وweight وpercent وshare_ratio وamount؛ ومصفوفة موازية amounts وamounts_sum للسكربتات؛ إضافة إلى سلسلة method المسماة weighted_cost_split وسلسلة formula تعيد صياغة إما amount في weight على مجموع الأوزان أو amount في percent على مئة. تسعيرة استدعاءات API الناجحة هي القاعدة المنشورة $0.002 لكل عنصر؛ وإخفاقات التحقق لا تستهلك الرصيد المدفوع مقدمًا.
أين ينتمي تقسيم التكلفة بالأوزان وما الذي ليس هو
فرق المنتجات التي تدمج أداة مجانية في مدونات التمويل الشخصي تريد JSON نفسه في المتصفح وفي API حتى لا تختلف العروض والإنتاج. أبقِ هذه الصفحة مركزة على عقد المجموع الواحد والأطراف المسماة حتى ترتّب لتلك العبارة ويبقى JSON صغيرًا بما يكفي للأدوات وروبوتات SMS. ولأن هذه القدرة محرك parse خالص، فإن تسعيرة API هي القاعدة المنشورة $0.002 لكل عنصر ناجح، والتحقق الفاشل لا يستهلك الرصيد. تخزن خطوط الأتمتة amount وmode وweight_sum ونسب الحصص والمبالغ لكل طرف للتدقيق بعد كل تسوية.
أسئلة تقنية
كم تبلغ التكلفة؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيدًا مدفوعًا مقدمًا بسعر $0.002 لكل عنصر ناجح؛ ولا تُفوتر المدخلات غير الصالحة.