معاذ عبد الخالق نشر 28 فبراير أرسل تقرير نشر 28 فبراير (معدل) if(isset($_POST['sb_1'])){ $pp = $_POST['st_1']; $rlst_counter = '500'; echo $ee = abs($pp - $rlst_counter); } المشكلة لما نفس الرقم بيتكتب مثلا 256.35 مش بيظهر نفسه تم التعديل في 28 فبراير بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 28 فبراير أرسل تقرير نشر 28 فبراير دالة abs تأخذ القيمة المطلقة لعدد أي أنها ستحذف علامة السالب من أي رقم سلبي. هناك دالة round بدلاً من دالة abs حيث ستقرب الرقم إلى أقرب عدد صحيح، أي لو كان الرقم المدخل هو 256.35، فسوف تقوم دالة round بإرجاع 256. وإن كان 256.35-، فسوف تقوم دالة round بإرجاع 256. لكن أرجو توضيح ما المشكلة بالضبط، وأيضًا في حال التعامل مع أرقام مالية فالأرقام العشرية مهمة جدًا يجب الإحتفاظ بها وليس التقريب لأقرب عدد صحيح. اقتباس
0 Mahmoud Hassan19 نشر 28 فبراير أرسل تقرير نشر 28 فبراير مرحبا معاذ اظن انه المشكلة عندك في الارقام التي تحتوي علي فاصلة عند الطباعة تطبع الارقام الصحيحة فقط فمن الممكن استخدام number_format للتحكم في الارقام التي تظهر بعد العلامة العشرية اوظهارها عن الطباعة عند استخدام echo فمثلا يمكنك تحديث الكود الي ذاللك if(isset($_POST['sb_1'])){ $pp = floatval($_POST['st_1']); $rlst_counter = 500.0; $ee = abs($pp - $rlst_counter); echo number_format($ee, 2); } اقتباس
0 Taha Khaled2 نشر 29 فبراير أرسل تقرير نشر 29 فبراير تستخدم دالة abs لحساب القيمة المطلقة للفرق بين pp$ و rlst_counter$. القيمة المطلقة هي المسافة بين رقمين على خط الأعداد، دون اعتبار العلامة. لذلك، إذا كان الرقمان متطابقين، فإن القيمة المطلقة للفرق بينهما ستكون صفرًا، ولن يتم عرض أي شيء افضل حل يمكنك ان ستخدمه هو استخدم عامل المقارنة == للتحقق من تساوي الرقمين فاإذا كانا متساويين، فقم بعرض الرقم. كما موضح بهذه الشكل if (isset($_POST['sb_1'])) { $pp = $_POST['st_1']; $rlst_counter = '500'; if ($pp == $rlst_counter) { echo $pp; } else { echo abs($pp - $rlst_counter); } } الكود سيعمل بهذه الطريقه التحقق من وجود متغير _POST['sb_1']$. فإذا كان موجودًا، فسيتم تخزين قيمة في المتغير pp$. ثما سيتم المقارنه بين pp$ معrlst_counter $. إذا كانا متساويين، سيتم عرضpp$. فإذا لم يكونا متساويين، سيتم حساب القيمة المطلقة للفرق بينهما وعرضها اقتباس
السؤال
معاذ عبد الخالق
if(isset($_POST['sb_1'])){
$pp = $_POST['st_1'];
$rlst_counter = '500';
echo $ee = abs($pp - $rlst_counter);
}
المشكلة لما نفس الرقم بيتكتب مثلا 256.35 مش بيظهر نفسه
تعديل عنوان السؤال
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.