رفتن به مطلب
  • 0

رند کردن عدد اعشار


mehrabmmp

سوال

سلام به همه

من یه عدد دارم به این صورت 3.333335

چجوری میتونم اینو رند کنم به این شکل 3.33 (یعنی دو رقم اعشار)

من با دستور Round2 نوشتم کار نکرد

dim result as double
result = 3.33335
Round2(result,2)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

درود

ببینید دستور Round2 درسته اما همینطور که از اسمش پیداست میاد اعشار رو روند تر هم میکنه

مثلا اگر Dim i As Double = 15.78945 داشته باشیم

اگه اون رو Round2 با 2 رقم اعشار کنیم جوابی که به ما میده 15.79 هستش ! یعنی اومده 789 که به 79 نزدیک هست رو روند کرده

حالا شما اگه میخواهید دقیقا همون عدد رو بده بیایید کلا اینجوری کار کنید و بیخیال Round بشید !

خب حالا چیکار کنیم :

فرض کنید شما این رو دارید و میخواهید بخش اول رو کامل و از بخش دوم فقط دو رقم اول اعشار رو بگیرید :

Dim i As Double = 15.56945

بیایید توی کلیک باتن به این شکل عمل کنید :

	Dim st As String = i
	st = st.Replace(".","#")
	Dim str() As String = Regex.Split("#",st)
	Dim javab As Double
	javab = str(0) & "." & str(1).SubString2(0,2)
	Msgbox(javab,"")

موفق باشید :girl_pardon:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 21 دقیقه قبل، مهدی ایزدی گفته است :

درود

ببینید دستور Round2 درسته اما همینطور که از اسمش پیداست میاد اعشار رو روند تر هم میکنه

مثلا اگر Dim i As Double = 15.78945 داشته باشیم

اگه اون رو Round2 با 2 رقم اعشار کنیم جوابی که به ما میده 15.79 هستش ! یعنی اومده 789 که به 79 نزدیک هست رو روند کرده

حالا شما اگه میخواهید دقیقا همون عدد رو بده بیایید کلا اینجوری کار کنید و بیخیال Round بشید !

خب حالا چیکار کنیم :

فرض کنید شما این رو دارید و میخواهید بخش اول رو کامل و از بخش دوم فقط دو رقم اول اعشار رو بگیرید :


Dim i As Double = 15.56945

بیایید توی کلیک باتن به این شکل عمل کنید :


	Dim st As String = i
	st = st.Replace(".","#")
	Dim str() As String = Regex.Split("#",st)
	Dim javab As Double
	javab = str(0) & "." & str(1).SubString2(0,2)
	Msgbox(javab,"")

موفق باشید :girl_pardon:

سلام اقای ایزدی

ممنون که پاسخ دادین

این کد کار میکنه ولی بعضی جاها نه

این عدد double من ثابت نیست یعنی همیشه یه عدد بزرگ نمیده که بخوای اونو تا دو رقم جدا کنی

وقتی عدد من مثلا 10.0 هست

اون وقت ارور میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 27 دقیقه قبل، mehrabmmp گفته است :

وقتی عدد من مثلا 10.0 هست

اون وقت ارور میده

شرط بزار ببیند str(1).size چقدر هستش !

کاری نداره دیگه

بحث فوق مبتدی هستش 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...