تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تحية طيبة وبعد : تقريب كسر الالف الى الالف
#1
الرجاء من الاخوة الكرام اريد تقريب كسر الالف في الرقم الى الالف مثلا : 150300 الى 151000   ولكم جزيل الشكر
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم
تفضل هذا الكود الشطر الاول لتقريب الرقم والثاني لعدد الخانات بعد الفاصلة

كود :
' استخدم هذا الكود
       TextBox2.Text = String.Format("{0:0}", Val(TextBox1.Text)) ' أولا لتقريب العدد
       TextBox2.Text = FormatNumber(Val(TextBox2.Text), 3) 'ثم  عدد الاصفار بعد الفاصلة
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: حريف برمجة , dubai.eig
#3
(01-06-19, 12:41 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم
تفضل هذا الكود الشطر الاول لتقريب الرقم والثاني لعدد الخانات بعد الفاصلة

كود :
' استخدم هذا الكود
       TextBox2.Text = String.Format("{0:0}", Val(TextBox1.Text)) ' أولا لتقريب العدد
       TextBox2.Text = FormatNumber(Val(TextBox2.Text), 3) 'ثم  عدد الاصفار بعد الفاصلة

الف شكر لاكن الرقم عندي ليس فيه فواصل انما على الشكل التالي 175550250 اريد تحويل كسر الالف الى الف 175551000 مع كل التقدير
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#4
السلام عليكم اخي الكريم
تفضل هذا الكود
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Nmbr As Decimal = Val(TextBox1.Text / 1000)
       TextBox2.Text = String.Format("{0:0}", Nmbr) '  لتقريب العدد
       TextBox2.Text *= 1000
   End Sub

اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة
#5
(01-06-19, 03:09 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم
تفضل هذا الكود
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Nmbr As Decimal = Val(TextBox1.Text / 1000)
       TextBox2.Text = String.Format("{0:0}", Nmbr) '  لتقريب العدد
       TextBox2.Text *= 1000
   End Sub

مشكور اخي الكريم لكن في هذا الوقت وقبل ان ارى ردك الكريم صنعت دالة وتعمل جيدا ً ويسهل استعمالها داخل الفورم  ما رايك ؟

كود :
Public Function XRound(c As Double) As Double
       Dim B = Microsoft.VisualBasic.Right(c, 3), A = c - B
     
       If B > 0 Then B = 0 : A += 1000
     
       Return a + b
   End Function
















      
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , حريف برمجة
#6
الحمد لله والشكر لله
ولك اخي الكريم
رمضان كريم والعيد على الابواب 
كل عام وانتم بخير 
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة:
#7
لاتمام الامر بصورة صحيحة وبدون اى اخطاء

فقط استخدم هذا الكود
كود :
   Function RunNum(ByVal a As Integer, Optional b As Integer = 3)
       Dim Len As Integer = a.ToString.Length
       Dim Rn3 As Integer = Len - b + 1
       Dim Sp1 As Integer = Mid(a, Rn3, Len)   'Right
       Dim Sp2 As Integer = Mid(a, 1, Rn3 - 1) ' Left
       If Sp1 >= CInt(5 & StrDup(b - 1, "0")) Then Sp2 += 1
       Return Sp2.ToString() + StrDup(b, "0")
   End Function

وعند الاستدعاء يكون بهذا الشكل كمثال
كود :
       MsgBox(RunNum(150300))

وظيفة الكود يقوم بجلب اخر 3 ارقام طبقاً لما هو محدد هنا بهذا الجزء
كود :
Optional b As Integer = 3

حيث رقم 3 تشير الـ الالاف و 2 الى المئات و 1 تشير الى العشرات


طيب لو فجاء كنت محتاج التعامل مع هذا الكود
مرة فى زر بحيث يكون عشرات

كل ما عليك استخدام الكود بهذا الشكل
كود :
       MsgBox(RunNum(150306, 1))

واذا كان فى الزر الثاني كمثال لـ المئات
كود :
       MsgBox(RunNum(150390, 2))

وطبعة الحال اذا كان لـ المئات فيمكن استخدام الكود هكذا
كود :
       MsgBox(RunNum(150300, 3))

وايضاً بهذا الشكل
كود :
       MsgBox(RunNum(150300))

طيب لو كان المطلوب لاكثر من ثلك مثلاً لـ 4 ارقام او 5

كل الامر فقط انك تستخدم الكود مع تغيير الرق فقط الاخير كمثال
كود :
       MsgBox(RunNum(150300, 4))

كود :
       MsgBox(RunNum(150300, 5))

كود :
       MsgBox(RunNum(150300, 6))

اتمنى الصورة تكون واضحة تماماً
الكود بدوت اى اخطاء تماماً طوال ان الرقم صحيح بدون ارقام عشرية

بمعنى اذا كان الرقم المدخل بهذا الشكل
كود :
652131124

فستجد ان الكود يقوم بجلب القيمة صحيحة بدون اى خطاء

واذا كان القيمة مثل
كود :
5434982.52

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , حريف برمجة , dubai.eig


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Sad مشكلة تقريب الأرقام Sql Server waataanys 1 415 13-11-23, 11:39 PM
آخر رد: waataanys
Sad مشكلة تقريب الأرقام Sql Server waataanys 0 323 12-11-23, 11:48 PM
آخر رد: waataanys
Smile تطبيقي يعمل تمام على ويندوز 10 قبل تحديث الوندوز وبعد التحديث لا يعمل رمضان محمد 2 382 31-10-23, 01:50 PM
آخر رد: رمضان محمد
  [مقال] شباب هذا كتير يقوم بشرح فاتورة مبيعات من الالف الى الياء احمد عبد الحكيم 18 9,532 28-03-22, 03:01 AM
آخر رد: hafid33
  [VB.NET] تقريب الارقام لاكبر عدد EMADSS 2 874 04-01-22, 11:00 AM
آخر رد: EMADSS
  تقريب الكسور العشرية للمبلغ الناتج الى اقرب ٠.٢٥ او ٠,٥٠ او ٠,٧٥ او ١ جنيه فقط تناسيم 2 4,013 14-07-18, 07:05 AM
آخر رد: elgokr
  تقريب رقم تناسيم 1 1,671 26-09-17, 02:56 PM
آخر رد: wale90
  كيف يمكن تقريب الكسر العشري لاقرب رقم فى داتا جريد فيو السيد الجوهري 1 2,190 28-01-17, 06:34 PM
آخر رد: ابو ليلى
  [كود] كود تقريب الأعداد المبرمج العبقري 2 2,820 16-07-16, 12:20 AM
آخر رد: المبرمج العبقري
  دالة تقريب لاقرب رقم عشرى فارس احمد السيد 3 6,344 23-05-16, 09:25 PM
آخر رد: فارس احمد السيد

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم