Results 1 to 7 of 7

Thread: VB.NET - Number Conversion

Threaded View

  1. #1

    Thread Starter
    Fanatic Member x-ice's Avatar
    Join Date
    Mar 2004
    Location
    UK
    Posts
    671

    Post VB.NET - Number Conversion

    Convert Decimal - Binary, Decimal - Octal and Decimal - Hexadecimal

    To call the function/s you would do:
    VB Code:
    1. Dim NumConv As New clsNumConv()
    2. 'Convert decimal to Binary
    3. txtNum.Text = NumConv.Dec2Bin(CInt(txtNum.Text), True)
    4. 'Convert decimal to Octal
    5. txtNum.Text = NumConv.Dec2Oct(CInt(txtNum.Text), True)
    6. 'Convert decimal to Hex
    7. txtNum.Text = NumConv.Dec2Hex(CInt(txtNum.Text), True)
    Decimal to Binary
    VB Code:
    1. Option Explicit On
    2. Option Strict On
    3.  
    4. Imports System.Math
    5.  
    6. Public Class clsNumConv
    7.     Public Function Dec2Bin(ByVal DecNum As Integer, ByVal ShowDecNum As Boolean) As String
    8.         Dim DivNum As Integer
    9.         'Establish how many divisions will be done, +1 for number rounding
    10.         DivNum = CInt(Log(DecNum) / (Log(2)) + 1)
    11.         'Create array with number of columns needed according to 'DivNum'
    12.         Dim BinNums(DivNum, 2) As Integer
    13.         'Assign 'DecNum' to column 1, row 0 of array
    14.         BinNums(0, 1) = CInt(DecNum)
    15.         Dim RowNum As Integer = 1 'Divisions loop counter
    16.         Dim RevBinNum As String
    17.         'Calculate divisions
    18.         For RowNum = 1 To UBound(BinNums) 'To highest subscript of array
    19.             'Divide previous value by 2
    20.             BinNums(RowNum, 1) = CInt(BinNums(RowNum - 1, 1) \ 2)
    21.             'Calculate modulus
    22.             BinNums(RowNum, 2) = CInt(BinNums(RowNum - 1, 1) Mod 2)
    23.             'Make binary number string
    24.             RevBinNum &= CStr(BinNums(RowNum, 2))
    25.         Next
    26.         Dim FinalBinNum As String
    27.         'Assign string to 'RevBinNum'" (reverse the string, as the binary number is backwards)
    28.         FinalBinNum = StrReverse(RevBinNum)
    29.         'Remove leading zeros
    30.         FinalBinNum = FinalBinNum.TrimStart("0"c)
    31.         'Check "ShowDecNum" to establish whether or not to show original number
    32.         If ShowDecNum = True Then
    33.             'Output binary number, along with original decimal number
    34.             Return DecNum & "(10)" & " = " & FinalBinNum & "(2)"
    35.         Else
    36.             'Output binary number
    37.             Return FinalBinNum & "(2)"
    38.         End If
    39.     End Function
    Last edited by x-ice; Dec 14th, 2006 at 01:21 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width