اطلاعیه

Collapse
No announcement yet.

عدداعشاری در آرم

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

    عدداعشاری در آرم

    با سلام
    من در نرم افزار کیل یک تقسیم ساده انجام دادم.به عنوان مثال:
    Float a;
    unsigned int b ;
    b=500;
    a=b/204.6
    lcd_puts(a);
    جالب اینجاست نتیجه را که بر روی ال سی دی نمایش میدم فقط مقدار صحیح را نشان میدهد!!! حالابه نظر شما مشکل چیه؟

    #2
    پاسخ : عدداعشاری در آرم

    یک تغییر فرمت کوچولو نیاز داره
    اول هیدر stdio.h رو اینکلود کنید

    char b[10]
    sprintf(b,"%f",a)

    این قسمت رو برای تغییر فرمت استفاده کنید(a همون عدد اعشاری هست که میخواید نشون بدید);



    lcd_putsf(b);
    نماش بدید اما حواستون باشه putsf نه puts

    دیدگاه


      #3
      پاسخ : عدداعشاری در آرم

      با سلام
      با تشکر از جوابتون.
      من برنامه رو تونستم به این صورت جواب بگیرم.یادم اومد که در زبان سی باید در تقسیم باید متغیرها هم نوع باشند.برنامه به این صورت اوکی شد.گفتم بگم که نتیجه دو نوع باشه که بقیه هم اگه به مشکل برخوردند استفاده کنند:
      oat a;
      unsigned int b ;
      b=500;
      a=(float)b/204.6
      lcd_puts(a);
      در ضمن فکر کنم

      تشکر

      دیدگاه


        #4
        پاسخ : عدداعشاری در آرم

        این دو تابع lcd_puts رو خودتون نوشتید که بهش عدد می دید و نمایش می دهد چون تا جایی که یادم میاد این دو تابع همواره رشته کاراکتری میگرفتند و نمایش می دادند و من هم خودم اگر قرار باشه که تعریف کنم به صورت کاراکتری تعریف می کنم . و برای تبدیل عدد به کاراکتر از ftoa یا از sprintf استفاده می کنم .

        دیدگاه

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