منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كود (/showthread.php?tid=36015)



كود - Hamza Elshare - 06-08-20

السلام عليكم ورحمة الله وبركاته 
أريد كود بحيث يقوم بجبر الأعداد العشرية كالتالي
الذي أقل من 25 يجبره ليجعله 25 مثال 7.24 يجعله 7.25 
الذي أقل من 50 يجبره ليجعله 50 مثال 9.27 يجعله 9.50 
الذي أقل من 75 يجبره ليجعله 75 مثال 8.60 يجعله 8.75 
الذي أكثر من 75 يجبره للعد الصحيح بعدها مثال 9.88 يجعله 10


RE: كود - محمد كريّم - 06-08-20

وعليكم السلام ورحمة الله وبركاته

تحتاج إلى دالة 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/api/system.math.round?view=netcore-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-ymknny-tkryb-kym-aashry-al-mnzltyn-aashrytyn-llakhrag-aal-sfh/958375278/
جافاسكربت لكنها مشابهة لتفهم الفكرة https://wiki.hsoub.com/JavaScript/Math/round


RE: كود - ابراهيم ايبو - 06-08-20

السلام عليكم ورحمة الله وبركاته
اخي الكريم في الفيجوال يوجد لدينا بعض الدوال للمكتبة 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



RE: كود - عيد مبارك - 06-08-20

كود :
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))



RE: كود - Hamza Elshare - 10-08-20

جزاكم الله خيرا