الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

الناس اللي تهوي التقريب

Featured Replies

بتاريخ:

هذا الكود يقرب الارقام الي 0.25 ومضاعفاتها
مثل 2253.21 يتم تقريبه الي 2253.25
وهكذا


declare


v_number number(10,2) :=&p_number;
v_inte number(10);
v_dcimal number(10,2);
begin
select substr(v_number,-2 ,2) into v_inte from dual;
if v_inte < 25 then
select trunc(v_number,0)+0.25 into v_dcimal from dual;
dbms_output.put_line(v_dcimal);
elsif v_inte between 26 and 50 then
select trunc(v_number,0)+0.50 into v_dcimal from dual;
dbms_output.put_line(v_dcimal);
elsif v_inte between 51 and 75 then
select trunc(v_number,0)+0.75 into v_dcimal from dual;
dbms_output.put_line(v_dcimal);
end if ;
end;

بتاريخ:

السلام عليكم
الاخ ابوشاهين
الكود يقوم باضافة الكسر العشري 75 الي الارقام الصحيحة
بمعني 555 تصبح 555.75

بتاريخ:

السلام عليكم

SET SERVEROUTPUT ON:


declare
v_number number(10,2) :=&p_number;
v_inte number(10);
v_dcimal number(10,2);
begin
--
if v_number-trunc(v_number,0) > 0 then
--
select substr(v_number,-2 ,2) into v_inte from dual;
if v_inte < 25 then
select trunc(v_number,0)+0.25 into v_dcimal from dual;
dbms_output.put_line(v_dcimal);
elsif v_inte between 26 and 50 then
select trunc(v_number,0)+0.50 into v_dcimal from dual;
dbms_output.put_line(v_dcimal);
elsif v_inte between 51 and 75 then
select trunc(v_number,0)+0.75 into v_dcimal from dual;
dbms_output.put_line(v_number);
end if ;
--
else
dbms_output.put_line(v_number);
end if ;
end;


الاخ العزيز بعد اضافة جملة if الملونة يمكننا بهذه الطريقة تلاشي اضافة الكسر العشري للارقام الصحيحة
بتاريخ:

الاخ العزيز
ماذا يحدث لو كان الكسر العشري 25 مثال 5.25
>> لن تعطي نتيجة لان قيمة v_inte في هذه الحالة = 25
و لعلاج هذا الخطأ نقوم بإضافة = الي علامة > اي لتكون اصغر من او يساوي =>

if v_inte <= 25 then


بدلا من if v_inte < 25 then
---- :unsure:
لكن ماذا عن الكسور العشرية التالية
0.9 , 0.90 , 0.3 , 0.30 , 0.5 , 0.50 , 0.51
طبعا اقصد الكسر العشري نفسه و ليس القيمة المذكورة

تم تعديل بواسطة amdabd

بتاريخ:
  • كاتب الموضوع

set serveroutput on ;
declare
v_number        number(10,2) :=&p_number;
v_dcimal          number(10,2);
begin if v_number - trunc(v_number) = 0 then 
dbms_output.put_line(v_number);
else
if v_number - trunc(v_number , 0) <= 0.25  then 
v_dcimal := trunc(v_number , 0 ) +0.25 ;
dbms_output.put_line(v_dcimal);
elsif v_number - trunc(v_number , 0)  between  0.26 and 0.50 then 
v_dcimal := trunc(v_number , 0 ) +0.50 ;
dbms_output.put_line(v_dcimal);
elsif v_number - trunc(v_number , 0)  between  0.51 and 0.75 then 
v_dcimal := trunc(v_number , 0 ) +0.75 ;
dbms_output.put_line(v_dcimal);
end if ;
end if ;
end;

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.