Fa بعداز عمل تقسیم خلاصه نکند صفرها رو

Singular

Active Member
سلام به همه دوستان عزیز


من وقتی 1 را تقسیم بر 1000000 میکنم جواب میشه 1e-006

من نمیخام خلاصه کنه میخام جواب رو به این صورت بنویسه 0.000001

صفر ها رو بنویسه... ممنون میشم راهنماییم کنید


[CPPS]a=1/1000000
DisplayValue("test","a")

[/CPPS]



این نمونه مثال رو ببینید متوجه منظورم میشید


http://up.persianscript.ir/uploads/138341049102981.rar
 

sadeghza

Member
با سلام اینو داخل یک دکمه bottun قرار بده و نتیجه را ببین ........ البته این ابتکاریست و شاید روش معقول تری نیز باشد ...... موفق باشید
[PHPS]
B=1/1000000
B$=CHAR(B)+'-'
DEC$='-'
For i=1 To 2
J$=GetArrayItem(B$,DEC$,i)
**Message("J$","")
Next i
DEC2$='e'
AD1$=GetArrayItem(J$[1],DEC2$,1)
AD2$=J$[2]
AD2=VAL(AD2$)
**Message("AD1$","")
For i=1 To AD2
AD$='0'
AD3$=AD3$+AD$
Next i
ADD$=AD1$+AD3$
Message("B$","")
Message("ADD$","")



[/PHPS]

این رو تست کردم جواب رو به صورت 1000000 نشون می ده
 

Singular

Active Member
مرسی از راهنماییتون ... ولی جواب اشتباه میاید

جواب باید بیاد 0.000001

اگه امکان داره ایدی یاهو مسنجر منو اد کنید در این زمینه راهنمایی کنید مشکلم حل بشه ممنون میشم

[email protected]
 

sadeghza

Member
ببخشید من حواسم به جمع و منها و هیچیش نبود فقط تعداد صفر و در نظر گرفتم

اینم تصحیح شدش
[PHPS]

B=1/1000000
B$=CHAR(B)+'-'
DEC$='-'
For i=1 To 2
J$=GetArrayItem(B$,DEC$,i)
**Message("J$","")
Next i
DEC2$='e'
AD1$=GetArrayItem(J$[1],DEC2$,1)
AD2$=J$[2]
AD2=VAL(AD2$)
**Message("AD1$","")
For i=1 To AD2-1
AD$='0'
AD3$=AD3$+AD$
Next i
ADD$='0.'+AD3$+AD1$
Message("B$","")
Message("ADD$","")



[/PHPS]

جواب میشه :
0.000001
 

sadeghza

Member
این برای تقسیم هایی درست جواب خواهد داد که جوابش به اون شکل باشه
1e-07 یا به این شکل باشه اگه مثلا 1/1 بشه جواب اشتباه خواهد داد چون من از یک روش ابتکاری برای حل مشکلت استفاده کرده ام شاید تابعی باشه که عدد رو خودش تبدیل کنه از برنامه نویس های سایت مثل آقا محمود و آقا محمد جواد بپرسید ولی روش غیر اصولیش روش منه که چن فن می فهمم که چن تا صفر داره و عدد پایه چنده سپس به صورت رشته ای اونا رو کنار هم قرار می دم......
اگر به صورت قطع جواب تقسیماتون به شکل 1e-05 ,... هست اشکالی نداره از روش من استفاده کنید
ببخشید من درگیر پایان نامم هستم وقت زیادی ندارم ولی باز سر میزنم اگه کمکی از دستم بر بیاد می گم
موفق باشید
 

Singular

Active Member
بعد یه سوال دگ امکانش هست که قبل اجرا این دستورات چک کنه اگر مثبت هست کد مربوط به مثبت انجام بده اگر منفی کد منفی انجام بده
در واقع باید جستجو کنه آیا کارکتر - هست یا +
و....
 
آخرین ویرایش:

m javad

کاربر متخصص
یه شرط بزارید که آیا عدد به دست آمده منفی هست یا مثبت (با چک کردن اینکه بزرگتر از 0 هست یا نه)
 

Singular

Active Member
نمیشه چون اعداد به صورت 1e+006 یا 1e-006
هست شرطی میخام که اگر + هست یکاری کنه اگر منفی بود یکار دیگر...
 

sadeghza

Member
خب بنظرم این نیز روش خوبی برا تشخیصش باشه

[PHPS]

string$='1e-006'
substring$='-'
RetVal=POS(substring$,string$)
If (RetVal>0) Then
Message("manfi -","")
End
substring$='+'
RetVal=POS(substring$,string$)
If (RetVal>0) Then
Message("mosvat +","")
End




[/PHPS]

جواب منفی میشه چون اون ورودی ما منفی است و اگر اونو مثبت کنید جواب مثبت خواهد داد ...

برای عملکرد در یک دکمه قرار دهید و مشاهده کنید

با تشکر

موفق باشید
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
بنظرم بهتره برای اعمال ریاضی که اعداد بزرگ هستند یا عملیات پیچیده ای قراره انجام بشه از پلاگین های موجود استفاده بشه
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
جناب farid00 هنوز مشکلتون برطرف نشده :shock: فکر میکنم با دادن اون راه حل دیگه مشکلی این وسط نباشه خروجی کار همونی بود که مد نظر داشتین و اینکه مثبت است یا خیر خوب خروجی به صورت String هست فقط لازمه با تابع Pos کارکتر - رو جستجو کنید همین
 
آخرین ویرایش:

Singular

Active Member
سلام
چرا حل شد از همه ی دوستانی که منو راهنمایی کردند ممنونم...
:rose:
 

Singular

Active Member
سلام دوستان
بعد این همه کدنویسی کپی تو قسمتهای برنامم

متوجه ی مشکل تو این کد شدم که

این کد اعداد 1e-006 و... رو درست انجام میده

ولی اگر مثلا عدد اعشار داشته باشیم مثل 1.1e-006 جواب اشتباه میده :( اینو میده 0.0000001.1 ولی در واقع جواب صحیح باید بشه 1.0000001

دوستان کمکم میکنید؟؟؟
 

جدیدترین ارسال ها

بالا