تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود
#1
السلام عليكم ورحمة الله وبركاته 
أريد كود بحيث يقوم بجبر الأعداد العشرية كالتالي
الذي أقل من 25 يجبره ليجعله 25 مثال 7.24 يجعله 7.25 
الذي أقل من 50 يجبره ليجعله 50 مثال 9.27 يجعله 9.50 
الذي أقل من 75 يجبره ليجعله 75 مثال 8.60 يجعله 8.75 
الذي أكثر من 75 يجبره للعد الصحيح بعدها مثال 9.88 يجعله 10
الرد
تم الشكر بواسطة: حريف برمجة
#2
وعليكم السلام ورحمة الله وبركاته

تحتاج إلى دالة round الموجودة في مكتبة math
math.round()

مصادر من المنتدى :
http://vb4arb.com/vb/showthread.php?tid=31943
http://vb4arb.com/vb/showthread.php?tid=15785


مصادر خارجية :

https://docs.microsoft.com/en-us/dotnet/...etcore-3.1
https://www.youtube.com/watch?v=twLVqWxTjao
https://www.dev-point.com/vb/threads/591905/
https://www.it-swarm.dev/ar/c%23/kyf-ymk...958375278/
جافاسكربت لكنها مشابهة لتفهم الفكرة https://wiki.hsoub.com/JavaScript/Math/round

الرد
#3
السلام عليكم ورحمة الله وبركاته
اخي الكريم في الفيجوال يوجد لدينا بعض الدوال للمكتبة Math كما ذكر اخي الغالي محمد كريم جزاه الله خيرا
ولكن هذه الدوال تجبر الرقم من المنتصف الى الادنى او من المنتصف الى الاعلى او الى الادنى مهما كان او الى الاعلى مهما كان
وانت تريد التعامل بالربع وهذا (حسب معلوماتي غير متوفر) والحل ان نقوم بانشاء كود يعمل ماتريد وفق التالي:
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       ' تجريد الرقم الموجود في مربع النص من الكسور مهما كانت وجبرها الى الصفر
       Dim AA As Integer = Math.Floor(Val(TextBox1.Text))
       ' طرح الرقم المجبور من الرقم الموجود في مربع النص مع تحويله الى نوع دبل والناتج هو الكسر العشري المتبقي ووضعه في متغير
       Dim Numbr As Double = FormatNumber((CDbl(TextBox1.Text) - AA), 2)
       ' الان حالات هذا المتغير والذي يمثل القسم العشري للرقم وتحويل كل حالة الى المطلوب
       If Numbr >= 0.1 And Numbr <= 0.25 Then
           Numbr = 0.25
       ElseIf Numbr > 0.25 And Numbr <= 0.50 Then
           Numbr = 0.5
       ElseIf Numbr > 0.50 And Numbr <= 0.75 Then
           Numbr = 0.75
       ElseIf Numbr > 0.75 And Numbr <= 0.99 Then
           Numbr = 1
       Else
           Numbr = Numbr
       End If
       ' الان نعرف الرقم النهائي بعد جمع التحويل مع الرقم المجرد
       Dim Lastnumbr As Double = AA + Numbr
       ' تفريغ مربع النص
       TextBox1.Text = ""
       ' اعادة املاء مربع النص بالرقم النهائي مع جعل الفاصلة بؤقمين
       TextBox1.Text = FormatNumber((Lastnumbr), 2)

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







الرد
#4
كود :
Function MyRound(num As Double) As Double
    Select Case (num - Fix(num))
        Case Is <= 0.25 : Return (Fix(num) + 0.25)
        Case Is <= 0.5 : Return (Fix(num) + 0.5)
        Case Is <= 0.75 : Return (Fix(num) + 0.75)
        Case Else : Return (Fix(num) + 1)
    End Select
End Function

كود :
TextBox1.Text = MyRound(Val(TextBox1.Text))
الرد
#5
جزاكم الله خيرا
الرد
تم الشكر بواسطة: حريف برمجة , essawq


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


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