اطلاعیه

Collapse
No announcement yet.

مشکل در روند کردم عدد اعشاری

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

    مشکل در روند کردم عدد اعشاری

    سلام به همه دوستان

    اول اینکه امروز رو تبریک میگم به تمام مردان ایران زمین مخصوصا بروبچ eca.ir.

    دوم اینکه من واسه روند کردن اعداد به مشکل برخوردم اگه میشه راهنماییم کنید.

    واسه روند کردن این برنامه رو نوشتم:

    dim a as single , s as string *10
    s =fusing(f1,#.##)
    a=val(s(
    مشکلم اینجاست که:
    به عنوان مثال میکرو عدد 0.2 رو در متغییر a بصورت 0.19999998 نشان میده و پس از روند کردن حاصل همان 0.2 میشه ولی وقتی که میخوام حاصل رو به متغییر اول (a) برگردونم بجای 0.2 عدد 0.19999998 رو به متغییر a برمیگردونه.

    منظورم اینه که عدد 0.2 داخل متغییری از جنس single بصورت 0.19999998 ذخیره میشه, وقتی هم که s رو از جنس single تعریف میکنم واسه روند کردن به مشکل برمیخورم و عدد روند نمیشه.

    میخواستم بدونم علتش چیه و چیکار باید بکنم تا بتونم اعدادم رو روند کنم..؟

    تشكر لازم نيست. :^O
    اينها همش وظيفه ست. :^O

    #2
    پاسخ : مشکل در روند کردم عدد اعشاری

    با سلام
    اعداد هر چقدر واقعی تر باشند محاسباتتون درست تر هست !
    به نظر من روند کردن فقط برای زمانیه که می خواهیم نتیجه یک عملیات حسابی رو به فرم دلخواهمون نمایش بدیم !
    نوشته اصلی توسط as_6872
    منظورم اینه که عدد 0.2 داخل متغییری از جنس single بصورت 0.19999998 ذخیره میشه, وقتی هم که s رو از جنس single تعریف میکنم واسه روند کردن به مشکل برمیخورم و عدد روند نمیشه.
    خوب شما که اول گفتید که تونستید رند کنید:
    نوشته اصلی توسط as_6872

    Dim A As Single , S As String * 10
    s =fusing(f1,#.##)

    به عنوان مثال میکرو عدد 0.2 رو در متغییر a بصورت 0.19999998 نشان میده و پس از روند کردن حاصل همان 0.2 میشه
    متغیر f1 از نوع single هست ؟

    دیدگاه


      #3
      پاسخ : مشکل در روند کردم عدد اعشاری

      سلام
      آره f1 از جنس single هستش.
      اشتباها بجای a نوشتم f1 (میبخشیدا) :">

      سوالم رو اینجوری بپرسم بهتره.

      من یه برنامه مینویسم که با اعداد اعشاری و اعمال ریاضی بر روی آنها سروکار دارم (یه چیزی شبیه به ماشین حساب), اشکالی نداره برای ذخیره اعداد اعشاری در یک متغییر, بجای single جنس متغییر رو string قرار بدهم..؟
      تشكر لازم نيست. :^O
      اينها همش وظيفه ست. :^O

      دیدگاه


        #4
        پاسخ : مشکل در روند کردم عدد اعشاری

        خوب این موردی رو که شما گفتید از دو جهت میشه بررسی کرد :
        1- اشکال داره ؛ به خاطر اینکه اونچه در داخل string قرار میگیره ، رشته هست نه یک مقدار عددی به عنوان مثال نمیشه اون رو با یک عدد دیگه جمع کرد !
        2- اشکال نداره ؛ اما هر وقت بخواهید در محاسبات از مقدار داخل اون متغیر استفاده کنید باید از یک متغیر میانی
        از نوع single استفاده کنید و مقدار عددی اون متغیر از جنس رشته رو داخلش قرار بدید و بعد عملیات رو انجام بدید و دوباره اون رو به رشته تبدیل کنید !

        دیدگاه

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