منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استفسار حول فصل الآحاد عن العشرات و هكذا
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
اخواني سؤالي هو عن إمكانية فصل الاحاد عن باقي الاقسام من أجل تقريب الرقم الكلي لاستخدامه في عملية تجارية
اي مثال على ذلك :
لدي الرقم التالي 243 اريد على البرنامج أن يحدد قيمة الرقم (3) فقط أي الآحاد لمعرفة في حال كان أقل من قيمة 5 ليصبح الرقم الكلي 240
وفي حال كان الرقم أكبر من 5 يصبح الرقم الكلي 250
أتمنى المساعدة و شكرا جزيلا
ممكن يكون هناك حل ابسط من هذا الحل 
على كل حال هذا يقوم بالمطلوب:

كود :
       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
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 
(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)
وعليكم السلام

هذه أبسط حيلة

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

هذه أبسط حيلة

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

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

شكرا لك
للتقريب لأقرب مئة بشكل دقيق بنضيف سطر ال 100 بعد العشرة

Dim n = 346
n = Math.Round(n / 10) * 10
n = Math.Round(n / 100) * 100
مشكورين جدا
شكرا جزيلا لكم جميعا