تابع تبدیل عددی در مبنای 10 به همان عدد در مبنا 2 در ویژال بسیک؟

vahid_3d

Active Member
سلام دوستان
به تابعی که بشه عددی در مبنا 10 بهش داد و اون عدد رو در مبنا 2 در جعبه متن دلخواه قرار دهد. این تابع چیه؟
ممنون می شم هر چه سریعتر کمکم کنید.
 

the_king

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

از این تابع استفاده کنید :

کد:
Private Function [B]NumberToText[/B](ByVal Number As Currency, ByVal Base As Long) As String
    Dim Value As Long, NewNumber As Currency
    Dim Pos As Long, BasePos As Long
    Dim InsertZero As Boolean
    If Number < 0 Then
        NumberToText = "-"
        Number = 2147483648@ + Number
        If Number = 0 Then Number = 2147483648@
    End If
    BasePos = Log(4294967296@) / Log(Base)
    For Pos = BasePos To 0 Step -1
        NewNumber = CCur(Base) ^ CCur(Pos)
        Value = 0
        Do While Number >= NewNumber
            Value = Value + 1
            Number = Number - NewNumber
        Loop
        If Value > 0 Or Pos = 0 Then InsertZero = True
        If InsertZero Then
            NumberToText = NumberToText & Mid("0123456789ABCDEF", Value + 1, 1)
        End If
    Next
End Function

این تابع دو پارامتر دریافت می کنه، پارامتر اول عدد مورد نظر در مبنای 10 است و عدد دوم مبنایی است که می خواهید
به آن تبدیل شود، مثلا اگر می خواهید به مبنای 2 تبدیل شود، عدد 2 را در آن قرار دهید.

در مثال زیر معادل مبنای 2 عدد 1234 در Text1 قرار می گیرد :
کد:
    Text1.Text = NumberToText(1234, 2)
 

vahid_3d

Active Member
خیـــــــــــــــــــــــــــــــــــــلی خیلی ممنونم. نمی دونم چطور تشکر کنم. خیلی عالی عمل می کنه . :oops:
 

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

بالا