نمایش نتایج 1 تا 4 از 4

نام تاپیک: تشخیص اعداد اعشاری در ویژوال بیسیک چگونه است؟

  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    Question تشخیص اعداد اعشاری در ویژوال بیسیک چگونه است؟

    با سلام

    من می خوام اعداد اعشار توسط نرم افزار شناسایی بشه....
    در اصل رفم اعشارشون رو می خوام....


    با تشکر....

  2. #2
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    نقل قول: تشخیص اعداد اعشاری در ویژوال بیسیک چگونه است؟

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    با سلام

    من می خوام اعداد اعشار توسط نرم افزار شناسایی بشه....
    در اصل رفم اعشارشون رو می خوام....


    با تشکر....
    راه حل رو پیدا کردم: (Console Application)


    Screenshot 2024-11-15 204309.png

    Console.Write("{0} Type Double Number: ", vbTab)
    Dim Number As Double = Val(Console.ReadLine)
    Console.WriteLine()
    Dim Remain As Double = Number Mod 1
    Console.WriteLine("{0} Decimal of your Number is: {1}", vbTab,
    Math.Round(Remain / 0.1))

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    نقل قول: تشخیص اعداد اعشاری در ویژوال بیسیک چگونه است؟

    تابعی برای تبدیل عدد اعشار به عدد کامل:(حتی با اعشار 0.1)

    Screenshot 2024-11-16 102943.png


    Function RoundDecimal(Number As Double) As UInteger
    Dim Remain As Double = Number Mod 1
    Return If(Math.Round(Remain / 0.1) > 0, Fix(Number) + 1, Fix(Number))
    End Functionٍ

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,578

    نقل قول: تشخیص اعداد اعشاری در ویژوال بیسیک چگونه است؟

    سلام و روز خوش

    برای پیدا کردن جزء صحیح ساده تر هم میتونین بنویسین: math.truncate ،
    و برای قسمت اعشاری دقیقتر هم میتونین محاسبه کنین: تبدیل به دسیمال ،
    و این که برای قسمت اعشاری نیازی به تقسیم نیست و یک منها ساده کافی هست.

    Private Numbers() As Double = {
    0, 1, 1.1, 2.02, 3.003, 4.0004, 5.00005, 6.000006, 7.0000007, 8.00000008, 9.000000009,
    -1, -1.1, -2.02, -3.003, -4.0004, -5.00005, -6.000006, -7.0000007, -8.00000008, -9.000000009}

    Dim decimal_part As Double, integer_part As Long
    For Each number As Decimal In Numbers
    integer_part = Math.Truncate(number)
    decimal_part = number - integer_part
    Console.WriteLine($"Number={number} , Integer Part={integer_part} , Decimal Part={decimal_part}")
    Next

    خروجی:
    Number=0 , Integer Part=0 , Decimal Part=0Number=1 , Integer Part=1 , Decimal Part=0
    Number=1.1 , Integer Part=1 , Decimal Part=0.1
    Number=2.02 , Integer Part=2 , Decimal Part=0.02
    Number=3.003 , Integer Part=3 , Decimal Part=0.003
    Number=4.0004 , Integer Part=4 , Decimal Part=0.0004
    Number=5.00005 , Integer Part=5 , Decimal Part=5E-05
    Number=6.000006 , Integer Part=6 , Decimal Part=6E-06
    Number=7.0000007 , Integer Part=7 , Decimal Part=7E-07
    Number=8.00000008 , Integer Part=8 , Decimal Part=8E-08
    Number=9.000000009 , Integer Part=9 , Decimal Part=9E-09
    Number=-1 , Integer Part=-1 , Decimal Part=0
    Number=-1.1 , Integer Part=-1 , Decimal Part=-0.1
    Number=-2.02 , Integer Part=-2 , Decimal Part=-0.02
    Number=-3.003 , Integer Part=-3 , Decimal Part=-0.003
    Number=-4.0004 , Integer Part=-4 , Decimal Part=-0.0004
    Number=-5.00005 , Integer Part=-5 , Decimal Part=-5E-05
    Number=-6.000006 , Integer Part=-6 , Decimal Part=-6E-06
    Number=-7.0000007 , Integer Part=-7 , Decimal Part=-7E-07
    Number=-8.00000008 , Integer Part=-8 , Decimal Part=-8E-08
    Number=-9.000000009 , Integer Part=-9 , Decimal Part=-9E-09


    تفاوت محاسبه پس از تبدیل به دسیمال (کد به بالا)
    با محاسبه روی مقدار double در مثال پایین مشخص هست:
    Dim decimal_part As Double, integer_part As Long
    For Each number As Double In Numbers
    integer_part = Math.Truncate(number)
    decimal_part = number - integer_part
    Console.WriteLine($"Number={number} , Integer Part={integer_part} , Decimal Part={decimal_part}")
    Next


    Number=0 , Integer Part=0 , Decimal Part=0Number=1 , Integer Part=1 , Decimal Part=0
    Number=1.1 , Integer Part=1 , Decimal Part=0.1
    Number=2.02 , Integer Part=2 , Decimal Part=0.02
    Number=3.003 , Integer Part=3 , Decimal Part=0.00300000000000011
    Number=4.0004 , Integer Part=4 , Decimal Part=0.000399999999999956
    Number=5.00005 , Integer Part=5 , Decimal Part=4.99999999998835E-05
    Number=6.000006 , Integer Part=6 , Decimal Part=5.99999999995049E-06
    Number=7.0000007 , Integer Part=7 , Decimal Part=7.00000000186662E-07
    Number=8.00000008 , Integer Part=8 , Decimal Part=7.99999995138023E-08
    Number=9.000000009 , Integer Part=9 , Decimal Part=9.00000074466334E-09
    Number=-1 , Integer Part=-1 , Decimal Part=0
    Number=-1.1 , Integer Part=-1 , Decimal Part=-0.1
    Number=-2.02 , Integer Part=-2 , Decimal Part=-0.02
    Number=-3.003 , Integer Part=-3 , Decimal Part=-0.00300000000000011
    Number=-4.0004 , Integer Part=-4 , Decimal Part=-0.000399999999999956
    Number=-5.00005 , Integer Part=-5 , Decimal Part=-4.99999999998835E-05
    Number=-6.000006 , Integer Part=-6 , Decimal Part=-5.99999999995049E-06
    Number=-7.0000007 , Integer Part=-7 , Decimal Part=-7.00000000186662E-07
    Number=-8.00000008 , Integer Part=-8 , Decimal Part=-7.99999995138023E-08
    Number=-9.000000009 , Integer Part=-9 , Decimal Part=-9.00000074466334E-09

تاپیک های مشابه

  1. سوال: تابع بررسی خالی بودن در ویژوال بیسیک (empty) به چه صورت است؟
    نوشته شده توسط mohammadgsp در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: یک شنبه 18 بهمن 1394, 20:04 عصر
  2. پاسخ: 12
    آخرین پست: جمعه 23 فروردین 1392, 17:07 عصر
  3. سوال: آیا کامپوننتی برای تایپ فونوتیک در ویژوال بیسیک هست؟
    نوشته شده توسط alone boy.dhl در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 5
    آخرین پست: جمعه 09 اردیبهشت 1390, 11:13 صبح
  4. بهترین ورژن ویژوال بیسیک دات نت کدام است؟
    نوشته شده توسط miraghaee در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 11 آذر 1384, 11:07 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •