29-05-22, 02:49 AM
(27-05-22, 08:28 PM)نيمو كتب : استعمل Decimal للارقام العشرية جربت كل انواع الارقام العشرية وجمعت بدون مشكلة مافي امر معقد بالشغلهشكرا لك اخي الكريم لكن يبدو ان سؤالي كان غير واضح عموما ساحاول ايصال فكرتي
جربت انته وله لا ؟
بالنسبة للدالة انت تقدر تصنعهه سواء فكشن او سوب لكن استعمل Decimal بدل انتجر
صورة
اخي فلنفرض ان عندك ملف تكست داخلة 10.000 سطر كل سطر من هذي الاسطر يحتوي على رقم عشري عشوائي مثل
0.66
0.5454
11.435950
1.02
999.034
120.4550
...
وطلب منك ان تجمع رقم 5 مع كل رقم من هذي الارقام وتظهر الناتج
مثلا 0.66 +5
كيف سيكون الحل ؟
الافضل انك تعمل فنكشن تقوم باعطائها الرقم مثلا 0.66 ومقدر الزيادة اللي هو5 والفنكشن تعطيك الناتج
على كل حال استطعت حل هذي المشكلة بصناعة هذه الفنكشن وهي تعمل على جميع الاعداد
كود :
Public Shared Function Cala(number As Decimal, increment As Integer) As Single
Dim ns = Str(number)
Dim decimalPart As String = ns.Substring(ns.IndexOf(".") + 1)
Dim decimalPartLength = Len(decimalPart)
Dim numberToAdd As Single = (increment * (10 ^ (-decimalPartLength)))
Dim result = number + numberToAdd
Return Convert.ToSingle(result)
End Function
End Classالجمع
كود :
Cala(0.66,5)
Cala(0.5454,5)
Cala(11.435950,5)
Cala(1.02,5)
Cala(999.034,5)
Cala(120.4550,5)واذا اردت الطرح
كود :
Cala(120.4550,-5)
Cala(1.02,-5)تحياتي لك
اثنان لا يتعلمان المتكبر والخجول
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا وَ زِدْنا علماً 
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا وَ زِدْنا علماً 

![[صورة مرفقة: 165366907884251.png]](https://up6.cc/2022/05/165366907884251.png)
![[صورة مرفقة: 165366907889042.png]](https://up6.cc/2022/05/165366907889042.png)