دقت اعشاری (Decimal Precision)
گاهی خروجی «اعداد اعشاری (Floating Point)» طولانی می شود. دقت اعشاری یعنی تعداد رقم های بعد از ممیز. با الگوی فرمتِ printf() می توان این تعداد را کنترل کرد. بنابراین، خروجی مرتب تر می شود و خوانایی بالاتر می رود.
پیش فرضِ چاپ اعشار
به صورت پیش فرض، %f و %lf شش رقم اعشار نشان می دهند. این رفتار همیشه خوب نیست.
float myFloatNum = 3.5;
double myDoubleNum = 19.99;
printf("%f\n", myFloatNum);
printf("%lf", myDoubleNum);
تنظیم دقت اعشاری با الگو
بعد از %f یک نقطه و عدد بگذار. این عدد تعداد رقم های اعشار است. برای نمونه، %.2f یعنی دو رقم اعشار.
float myFloatNum = 3.5;
printf("%f\n", myFloatNum);
printf("%.1f\n", myFloatNum);
printf("%.2f\n", myFloatNum);
printf("%.4f", myFloatNum);
گام های عملی دقت اعشاری
- نوع عدد را مشخص کن؛
floatیاdouble. - در
printf()از%fیا%lfاستفاده کن. - برای کنترل اعشار، از
%.nfکمک بگیر.
جمع بندی سریع
- پیش فرض، شش رقم اعشار چاپ می شود.
%.nfتعداد اعشار را مشخص می کند.doubleدقت بیشتری نسبت بهfloatدارد.- همیشه فرمت درست را با نوع درست جفت کن.
مطالب مرتبط: اعداد و دقت اعشاری، اندازه انواع داده، و انواع داده در C.