کلمه کلیدی double بر یک نوع ساده با قابلیت ذخیره مقادیر ممیز-شناور 64-بیتی دلالت دارد. دقت و محدوده تقریبی نوع double بصورت زیر است:
- نوع: double
- محدوده تقریبی:
±5.0 × 10−324 to ±1.7 × 10308
- دقت: 16-15 رقم
- نوع دات نتی: System.Double
لیترال ها
بطور پیش فرض، با یک لیترال عددی حقیقی که در سمت راست عبارت انتساب قرار گرفته باشد به عنوان double رفتار می شود. اما ، اگر می خواهید با یک عدد صحیح به عنوان double رفتار شود، از پسوند d یا D استفاده کنید. برای مثال:
double x = 3D;
تبدیلات
شما می توانید نوع های عددی صحیح و نوع های ممیز-شناور را در یک عبارت با هم ترکیب کنید. در چنین موردی ، نوع های صحیح به نوع های ممیز-شناور تبدیل می شوند. ارزیابی عبارت، بر اساس قوانین زیر انجام می شود:
- اگر یکی از نوع های ممیز-شناور double باشد،عبارت به صورت double ارزیابی می شود. در عبارت های بولی بصورت bool ارزیابی می شود.
- اگر هیچ نوع double ی در عبارت وجود نداشته باشد، به صورت float ارزیابی خواهد شد. در عبارت های بولی بصورت bool ارزیابی می شود.
یک عبارت ممیز شناور می تواند حاوی مجموعه مقادیر زیر باشد:
- صفر مثبت و صفر منفی
- مثبت بی نهایت و منفی بی نهایت
- مقدار نا-عدد (Not-a-Number یا NaN)
- مجموعه متناهی از مقادیر غیر-صفر
برای اطلاعات بیشتر در مورد این مقادیر، استاندارد IEEE برای محاسبه ممیز-شناور دودویی که در وبسایت IEEE موجود است، مراجعه فرمائید.
مثال
در مثال زیر یک int ، یک short ، یک float و یک double به هم اضافه شده اند که نتیجه آن double است.
// Mixing types in expressions class MixedTypes { static void Main() { int x = 3; float y = 4.5f; short z = 5; double w = 1.7E+3; // Result of the 2nd argument is a double: Console.WriteLine("The sum is {0}", x + y + z + w); } } // Output: The sum is 1712.5