احسب السعر بعد الخصم والتكلفة النهائية وإجمالي التوفير
سلعة سعرها 120 مع خصم 25 % تصبح بـ90، أي توفير 30. أدخل خصمًا واحدًا أو قائمة مرتبة من الخصومات لترى السعر النهائي وكل نسبة مطبقة وإجمالي التوفير، مقرّبة إلى أقرب سنت. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- السعر الأصلي
- 120
- نسبة الخصم
- 25
- الخصومات
- 25
- السعر النهائي
- 90
- إجمالي المبلغ الموفَّر
- 30
احسب السعر الذي ستدفعه فعليًا بعد تطبيق نسبة خصم واحدة أو سلسلة من التخفيضات. أدخل السعر الأصلي واختر إما نسبة منفردة وإما قائمة مرتبة، مثل خصم عشرين بالمئة يتبعه خصم آخر قدره عشرة بالمئة. تعرض النتيجة السعر الأصلي بعد ضبطه، وكل نسبة مطبقة، والسعر النهائي، وإجمالي المبلغ الموفر. الحساب حتمي، ويقرب القيمة إلى أصغر وحدة نقدية بعد كل خطوة، ويرفض النسب غير الصالحة بدل تعديلها دون إشعار.
اختر السعر الأصلي ومدخل الخصم الصحيح
ابدأ بسعر أصلي غير سالب مكتوب في صورة رقم. ثم قدم طريقة خصم واحدة فقط. لا ترسل الحقلين معًا لأن ترتيب التطبيق سيصبح ملتبسًا، ولا تتركهما معًا دون قيمة.
خصم صفر بالمئة صالح ولا يغير السعر، أما خصم مئة بالمئة فيخفض السعر الحالي إلى صفر. تُرفض النسب السالبة لأنها ستعمل كزيادات، كما تؤدي أي نسبة تتجاوز مئة إلى خطأ في الإدخال بدل إنشاء سعر سالب. يجب أن يكون السعر الأصلي عددًا محدودًا وألا يتجاوز الحد الموثق.
يفيد هذا العقد الصارم في معاينات الدفع ومسارات العمل الآلية، إذ يوقف القيم المشوهة فورًا، بينما تتبع المدخلات المقبولة مسار الحساب نفسه دائمًا. تعيد الاستجابة قائمة الخصومات حتى عند تقديم نسبة واحدة، لكي يستطيع البرنامج اللاحق معالجة شكلي الإدخال بالطريقة نفسها.
افهم كيف تغير الخصومات المتتابعة النتيجة
تُطبق الخصومات المتتابعة على السعر المتبقي، ولا تُجمع ثم تُطبق مرة واحدة. إذا كان ثمن سلعة مئة وحدة وحصلت على خصم عشرين بالمئة، يبقى ثمانون. وعند تطبيق خصم إضافي قدره عشرة بالمئة، تُطرح ثماني وحدات أخرى فيصبح السعر اثنتين وسبعين، بدل اعتبار العرض خصمًا بسيطًا قدره ثلاثون بالمئة.
يهم هذا الفرق عند استخدام القسائم المتراكبة والخصومات التجارية والتخفيضات الموسمية وشرائح الأسعار المتفاوض عليها. تحافظ الحاسبة على الترتيب الوارد في discounts وتعالج كل عنصر مرة واحدة. بعد كل تخفيض، يُقرب السعر الوسيط إلى أقرب جزء نقدي صغير، بما يوافق طريقة كثير من أنظمة البيع في نقل المبلغ المستحق من عرض إلى العرض التالي.
تجعل نسبة مئة بالمئة السعر الحالي صفرًا، وتبقيه الخصومات الصالحة اللاحقة عند صفر. تقتصر القائمة على مئة عنصر للحفاظ على قابلية توقع الطلبات الضخمة المرسلة بالخطأ.
استخدم المخرجات في التسوق وعروض الأسعار والأتمتة
صُمم الكائن المعاد ليكون واضحًا عند قراءته مباشرة وسهل النقل إلى نظام آخر. وتوضح رسائل القيم المفرطة خصوصًا أن النسبة تجاوزت مئة، فتظل قاعدة العمل صريحة ولا تُخفض النسبة خفية. لا تجري هذه القدرة طلبات شبكية، ولا تستخدم قيمًا عشوائية، ولا تحتفظ بحالة بين الاستدعاءات.
لذلك تناسب الاختبارات القابلة للتكرار والحسابات الدفعية. حُذفت رموز العملات عمدًا لأن الحساب يعمل بالطريقة نفسها مع أي عملة يُعرض سعرها عادة بمنزلتين عشريتين.
حالات الاستخدام
تحقق من سعر التخفيض
حول السعر المعروض والنسبة المعلنة إلى السعر النهائي ومبلغ التوفير الدقيق.
قيّم القسائم المتراكبة
طبق عدة نسب بالترتيب دون الوقوع في خطأ جمع نسبها المعلنة.
أتمت عروض الأسعار
أنشئ أسعارًا نهائية ومبالغ توفير متسقة لعروض الأسعار أو الدفع أو سجلات الموافقة.
الأسئلة الشائعة
هل تُجمع الخصومات المتتابعة؟
لا. تُطبق كل نسبة على السعر المتبقي بعد الخصم السابق.
كيف تُقرب الأسعار؟
يُقرب السعر الأصلي وكل مبلغ وسيط إلى أقرب جزء نقدي صغير.
كم يصبح السعر 120 بعد خصم 25 %؟
يصبح السعر النهائي 90 وتوفر 30. أدخل 120 سعرًا أصليًا و25 نسبةً للخصم، وتعرض النتيجة أيضًا النسبة المطبقة لتتحقق منها.
ماذا يحدث مع خصم 0 % أو 100 %؟
الخصم الصفري يترك السعر كما هو، والخصم الكامل يجعله صفرًا. تُرفض النسب السالبة أو الأعلى من 100 لأنها تعمل كزيادة في السعر أو تعطي سعرًا سالبًا.
هل تعرض النتيجة مقدار ما وفرته؟
نعم. إلى جانب السعر النهائي يظهر إجمالي التوفير، وهو السعر الأصلي المقرّب ناقص السعر النهائي المقرّب، مع كل نسبة طُبقت بالترتيب.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/calc2/discount-price \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_price":120,"discount_percentage":25}'const res = await fetch("https://api.kit.forhosting.com/calc2/discount-price", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_price": 120,
"discount_percentage": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/discount-price",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_price": 120,
"discount_percentage": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/discount-price", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_price":120,"discount_percentage":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_price":120,"discount_percentage":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/discount-price", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"original_price": 120,
"discount_percentage": 25
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.discount_price",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
اختر السعر الأصلي ومدخل الخصم الصحيح
استخدم discount_percentage بقيمة من صفر إلى مئة للتخفيض البسيط، واستخدم discounts مع قائمة مرتبة تضم نسبة واحدة أو أكثر للعروض التي تجمع عدة تخفيضات.
افهم كيف تغير الخصومات المتتابعة النتيجة
تتضمن الاستجابة final_price وtotal_saved، وتمثل القيمة الثانية السعر الأصلي المقرب مطروحًا منه السعر النهائي المقرب. ولأن كل خطوة تستخدم القاعدة الحتمية نفسها، تنتج طلبات JSON المتطابقة نتائج متطابقة.
استخدم المخرجات في التسوق وعروض الأسعار والأتمتة
يسجل original_price مبلغ البداية مقربًا إلى أصغر وحدة نقدية، ويحتوي discounts على النسب بترتيب تطبيقها، ويمثل final_price المبلغ المتبقي بعد جميع التخفيضات، بينما يعرض total_saved الفرق الإجمالي عن مبلغ البداية. يستطيع المتجر عرض final_price إلى جوار total_saved، ويمكن لفريق المشتريات مقارنة عروض الموردين ذات سلاسل الخصم المختلفة، كما يمكن لخدمة عروض الأسعار حفظ التسلسل الكامل لمراجعته لاحقًا. عند أتمتة API، تحقق من الأخطاء بواسطة الرمز invalid_input واستخدم الرسالة لتحديد الحقل غير الصحيح. إصدار المتصفح مجاني، بينما تبلغ تكلفة طلب API مقدار $0.002.
أسئلة تقنية
ماذا يحدث إذا تجاوز الخصم 100 بالمئة؟
يفشل الطلب بالرمز invalid_input، ولا تُقيد النسب المفرطة تلقائيًا.
هل يمكنني تقديم حقلي الخصم معًا؟
لا. استخدم discount_percentage لتخفيض واحد أو discounts لسلسلة مرتبة.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002، أما حاسبة المتصفح فمجانية.