|
أرشيف المنتدى هنا نقل الموضوعات المكررة والروابط التى لا تعمل |
|
أدوات الموضوع | ابحث في الموضوع | انواع عرض الموضوع |
#1
|
|||
|
|||
![]()
ان عملية التحويل بين الانواع المختلفة قد شغل الجميع
وقد احتار الكل كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة لازالة الحيرة التحويل المباشر و الغير مباشر widening conversion narrowing conversion implicit conversion explicit conversion الكلمات الاربع السابقة هي المفتاح وطبعا الترجمة الواسع الضيق الضمني الصريح ان كتاب المدرسة قد خلط بين الكلمات كيف ؟ سنوضح ذلك بالرجوع الةى msdn وجد الاتي A widening conversion changes a value to a data type that can accommodate any possible value of the original data. A narrowing conversion changes a value to a data type that might not be able to hold some of the possible values. An implicit conversion does not require any special syntax in the source code. In the following example, Visual Basic implicitly converts the value of k to a single-precision floating-point value before assigning it to q. Dim k As Integer Dim q As Double ' Integer widens to Double, so you can do this with Option Strict On. k = 432 q = K An explicit conversion uses a type conversion keyword. Visual Basic provides several such keywords, which coerce an expression in parentheses to the desired data type. These keywords act like functions, but the compiler generates the code inline, so execution is slightly faster than with a function call. مما سبق نلاحظ ان التحويل ليس بين الانواع ولكن بين القيم كما ان المباشر هو من لا يحتاج الى كلمات او دوال والغير مباشر هو الذي يعتمد على كلمات ودوال للتحويل بالرجول الي القيم نجد ان اكبر القيم هي قيم double For +ve values approximately 4.9*10-324 to 1.8*(10) +308 For -ve values approximately -1.8*10+308 to - 4.9*(10) -324 And 0 ويليها في الصغر single For +ve values approximately1.4*(10) -45 to 3.4*(10) +38 For -ve values approximately -3.4*(10) +38 to 1.4*(10) -45 And 0 ثم decimal ثم long ثم integer ثم short وعليه الحيرة ان كتاب المدرسي قد ذكر ان التحويل بين الانواع والحقيقة انه بين القيم التى يمكن تخزينها في تلك الانواع
__________________
|
#2
|
|||
|
|||
![]()
شكرا ياباشا انت شرف لنا بارك اله فيكم
|
#3
|
||||
|
||||
![]() كل التحية والتقدير للقائد سيف باشا سالم
![]() |
#4
|
|||
|
|||
![]()
بارك الله فيك
|
#5
|
||||
|
||||
![]()
جزاك الله خيرا
__________________
![]() ![]() ![]() ![]() ![]() ![]() تحيــــاتي وتقــديري للجمــــيع ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() <CENTER></CENTER><CENTER></CENTER> |
#6
|
|||
|
|||
![]() اقتباس:
كيف لا يمكن التحويل من double و single الى decimal بالرغم من ان الاخير هو الاكبر 16 خانة حضرتك تقصد 16 Byte وأيضا 29 خانة |
#7
|
|||
|
|||
![]() اقتباس:
التحويل ليس من duble الى decimal او العكس ولكن التحويل بين القيمة التى تخزن في double هذه القيمة لا يمكن تحويلها مباشرة لتخزن في decimal لان القيمة التي يمكن تخزينها في double For +ve values approximately 4.9*10-324 to 1.8*(10) +308 For -ve values approximately -1.8*10+308 to - 4.9*(10) -324 And 0 هذه القيمة اكبر بكثير من القيمة التي تخزن في decimal والتي هي79228162514264337593543950335 سالب وموجب والكبير لا يمكن تحويله للصغير اللا بالطرق غير مباشرة
__________________
|
#8
|
|||
|
|||
![]() اقتباس:
|
#9
|
|||
|
|||
![]()
أولا مشكور جداً على المجهود الطيب والعلم الغزير الذي نتعلم منه جميعا.
لاكن يبقى سؤال كيف يتم تخزين هذه القيم في النوع double والدقة المسموح بها هي 15 خانة , في حين أن المدي المذكور يذيد عن الـ 15 خانة . كيف التوفيق بين المدى والقه سواء لهذا النوع أو النوع single ? مع ملاحظة عدم وجود هذه المشكلة مع النوع decimal |
#10
|
|||
|
|||
![]()
جزاكم الله خيرا
زميلى الكريم الاستاذ / سيف سالم زادكم الله من فضله وخالص الدعوات ![]() |
#11
|
|||
|
|||
![]()
الف مليون شكر يا استاذ سيف قد فهمت ماذا تقصد وشكرا علي التوضيح الجميل بارك الله فيك
|
#12
|
|||
|
|||
![]()
شكرا علي التوضيح الجميل بارك الله فيك
|
#13
|
|||
|
|||
![]() اقتباس:
بارك الله لك ستجد الاجابة في هذا الموضوع http://www.thanwya.com/vb/showthread.php?t=191437
__________________
|
#14
|
|||
|
|||
![]() بارك الله لكم
__________________
|
#15
|
|||
|
|||
![]() اقتباس:
بارك الله لكم
__________________
|
العلامات المرجعية |
|
|