اطلاعیه

Collapse
No announcement yet.

مشکل با دستور printf و متغیر float

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با دستور printf و متغیر float

    درود
    وقتی برای اینکه توی دستور printf مشخص کنیم که یک رجیستر چند رقم هست مینوشتیم
    [code=c]
    char i;
    i=10;
    printf("%03d",i)
    [/code]
    در عمل اینجوری چاپ میشد
    [code=c]
    010
    [/code]
    حالا برای float اگه این کارو بکنیم نمیشه
    مثلا مینویسم
    [code=c]
    float i;
    i=1.2
    printf("%02.1f",i)
    [/code]
    نتیجه که چاپ میشه
    [code=c]
    1.2
    [/code]

    کامپایلر من کد ویژنه ؟؟ باید چیکار کنم ؟؟؟

    #2
    پاسخ : مشکل با دستور printf و متغیر float

    سلام دوست عزیز
    برو به منوی
    project>>>configure>>>C Compiler>>>printf features
    اون رو بزار روی float
    امیدوارم مشکلت با این کار حل شه
    پیروز باشین

    اضافه شده در تاریخ :
    در ضمن
    کامپایلر کد ویژن برای دستورات printf/sprintf
    صفر پشت عدد رو نشون نمیده و اگر تعداد رقم خاصی برای عدد در نظر گرفته باشین مثلا برای نمایش 254 تعداد 4 رقم در نظر گرفته باشین رقم هزارگان رو خالی نشون میده
    راستی اون صفری که پشت عدد گذاشتی جز کد دستوری طول داده محسوب نمیشه و بدون تغییر چاپ میشه
    :bye

    دیدگاه


      #3
      پاسخ : مشکل با دستور printf و متغیر float

      نوشته اصلی توسط plc1361
      سلام دوست عزیز
      برو به منوی
      project>>>configure>>>C Compiler>>>printf features
      اون رو بزار روی float
      امیدوارم مشکلت با این کار حل شه
      پیروز باشین

      اضافه شده در تاریخ :
      در ضمن
      کامپایلر کد ویژن برای دستورات printf/sprintf
      صفر پشت عدد رو نشون نمیده و اگر تعداد رقم خاصی برای عدد در نظر گرفته باشین مثلا برای نمایش 254 تعداد 4 رقم در نظر گرفته باشین رقم هزارگان رو خالی نشون میده
      راستی اون صفری که پشت عدد گذاشتی جز کد دستوری طول داده محسوب نمیشه و بدون تغییر چاپ میشه
      :bye
      ممنون ولی من تنظیمات این قسمت انجام دادم
      project>>>configure>>>C Compiler>>>printf features

      برای CHAR و INT مشکلی نداره و فقط برای float این مشکل هست
      اون 0 که من گزاشتم وقتی طول داده بهش میدی اگه مثلا عدد 03 گزاشته باشی برات اینجوری چاپ میکنه 000 و اگه عدد مثلا 12داخلش رجیستر باشه 012 چاپ میکنه .

      دیدگاه


        #4
        پاسخ : مشکل با دستور printf و متغیر float

        در مورد متغییرات Float همیشه یک مکان هم برای ممیز در نظر میگیره.

        دیدگاه

        لطفا صبر کنید...
        X