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

كود :
       Dim X As String = TextBox1.Text
       Dim y As Char = X(X.Length - 1)

       Dim number As String = X.Remove(X.Length - 1)
       Dim last_num As Integer
       Dim full_number As Integer

       If Val(y) < 5 Then
           last_num = 0
           full_number = number & last_num
       ElseIf Val(y) > 5 Then
           Dim o As Integer = 10 - Val(y)
           full_number = Val(X) + o
       ElseIf Val(y) > 5 Then
           full_number = TextBox1.Text
       End If
       TextBox2.Text = full_number
   End Sub
الرد }}}
تم الشكر بواسطة: sendbad100 , sendbad100 , ﻣﺒﺘﺪﺉ , ﻣﺒﺘﺪﺉ , ali777
#3
PHP كود :
       Dim i As Integer 256
        Dim s 
As String i.ToString
        Dim l 
As Integer s.Length 1
        Dim v 
As Integer CInt(s.Substring(l))
 
       Dim result As Integer v
        If v 
>= 5 Then
            result 
result 10
        End 
If 
Retired
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , sendbad100 , sendbad100 , ﻣﺒﺘﺪﺉ , ﻣﺒﺘﺪﺉ , ali777
#4
(01-12-17, 04:40 PM)ali777 كتب : السلام عليكم
اخواني سؤالي هو عن إمكانية فصل الاحاد عن باقي الاقسام من أجل تقريب الرقم الكلي لاستخدامه في عملية تجارية
اي مثال على ذلك :
لدي الرقم التالي 243 اريد على البرنامج أن يحدد قيمة الرقم (3) فقط أي الآحاد لمعرفة في حال كان أقل من قيمة 5 ليصبح الرقم الكلي 240
وفي حال كان الرقم أكبر من 5 يصبح الرقم الكلي 250
أتمنى المساعدة و شكرا جزيلا

وعليكم السلام ،،

لنفرض الرقم (243) موجود في TextBox1

وتريد النتيجة تظهر في TextBox2


كود :
TextBox2.Text = TextBox1.Text.Substring(0, TextBox1.TextLength - 1) & TextBox1.Text.Substring(TextBox1.TextLength - 1, 1).Replace(0, 0).Replace(1, 0).Replace(2, 0).Replace(3, 0).Replace(4, 0).Replace(5, 5).Replace(6, 5).Replace(7, 5).Replace(8, 5).Replace(9, 5)
الرد }}}
#5
وعليكم السلام

هذه أبسط حيلة

Dim n = 243
n = Math.Round(n / 10) * 10
الرد }}}
#6
(01-12-17, 07:02 PM)ﻣﺒﺘﺪﺉ كتب : وعليكم السلام

هذه أبسط حيلة

Dim n = 243
n = Math.Round(n / 10) * 10

ولو أردت التقريب للمئات غير 100 بدل 10 وهكذا

شكرا لك
الرد }}}
تم الشكر بواسطة: ﻣﺒﺘﺪﺉ , ﻣﺒﺘﺪﺉ , ali777
#7
للتقريب لأقرب مئة بشكل دقيق بنضيف سطر ال 100 بعد العشرة

Dim n = 346
n = Math.Round(n / 10) * 10
n = Math.Round(n / 100) * 100
الرد }}}
تم الشكر بواسطة: Rabeea Qbaha , عبد العزيز البسكري , ali777
#8
مشكورين جدا
الرد }}}
تم الشكر بواسطة: ali777
#9
شكرا جزيلا لكم جميعا
الرد }}}
تم الشكر بواسطة:



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


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