اطلاعیه

Collapse
No announcement yet.

نمایش یک عدد float بر روی lcd text

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

    نمایش یک عدد float بر روی lcd text

    سلام دوستان . من این کارو کردم.شماهم امتحان کنید . بر خلاف ظاهر سادش پیچیده وسخته :
    float a,b;
    a=100;
    b=3;
    a=a/b;
    حالا a را روی lcd نمایش بدین.(مثلا تا سه رقم اعشار)

    #2
    پاسخ : نمایش یک عدد float بر روی lcd text

    نوشته اصلی توسط comeran
    سلام دوستان . من این کارو کردم.شماهم امتحان کنید . بر خلاف ظاهر سادش پیچیده وسخته :
    float a,b;
    a=100;
    b=3;
    a=a/b;
    حالا a را روی lcd نمایش بدین.(مثلا تا سه رقم اعشار)
    بهتر بود اطلاعات رو کامل قرار میدادید .
    نمیدونم برای چه پلت فرمی چه کامپایلری چه ال سی دی

    ولی اساس کار اینه شما باید متغیر خودتون رو به یک استرینگ تبدیل کنید بعد با توابع مربوط به نمایش
    استرینگ مقدار دلخواه رو نمایش بدید.
    برای تبدیل ساده ترین راه دستور sprintf هست :
    کد:
    sprintf(str,"%2.3f",av_weigh);
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز

    دیدگاه


      #3
      پاسخ : نمایش یک عدد float بر روی lcd text

      در مورد بسکام هم یک دستور مشابه داریم اگر lcd کاراکتری باشه
      Lcd Fusing(amp , "#.##&quot
      مثلا در این دستور تا دو رقم بعد اعشار رو نمایش میده
      مهم نیست چه مدرکى دارید
      مهم این است که چه درکى دارید . . .

      دیدگاه


        #4
        پاسخ : نمایش یک عدد float بر روی lcd text

        نوشته اصلی توسط comeran
        سلام دوستان . من این کارو کردم.شماهم امتحان کنید . بر خلاف ظاهر سادش پیچیده وسخته :
        float a,b;
        a=100;
        b=3;
        a=a/b;
        حالا a را روی lcd نمایش بدین.(مثلا تا سه رقم اعشار)
        اصلا هم سخت نیست
        کد:
        int x;
        x =(int) (a * 1000);
        print(x/1000);
        if(x < 0) {
        	x = -x;
        }
        print('.');
        x %= 1000;
        if(x < 10) {
        	print('0');
        	print('0');
        } else if(x < 100) {
        	print('0');
        }
        print(x);
        البته من نمیدونستم تابع نمایش چیه برای همین هم کلا از print استفاده کردم
        این تابع اگر ورودیش کاراکتر باشه همون رو مستقیم نشون میده و اگر عدد باشه با استفاده از یک الگوریتم خیلی ساده اون رو به رشته تبدیل میکنه.

        کد:
        void print(int x) {
        	bool sign = false;
        	char q[10];
        	int l = 10;
        
        
        	if(x < 0) {
        		sign = true;
        		x = -x;
        	}
        
        	if(0 == x) {
        		l--;
        		q[l] = '0';
        	} else {
        		while(x != 0) {
        			l--;
        			int r = x % 10;
        			x /= 10;
        
        			q[l] = r + 48;
        		}
        	}
        
        	for(; l < 10; l++) {
        		print(q[l]);
        	}
        }

        دیدگاه


          #5
          پاسخ : نمایش یک عدد float بر روی lcd text

          این رو اشتباه زدم

          دیدگاه

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