Advertisement
C_Volume2 Math/ Dates #72987

Advanced Base Converter

Updated code! This function converts numbers into any base, and any base into decimal! Works frek-in' awesome!

AI

AI Summary: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

Source Code
original-source
Function ConvertToBase(DecNumber As Double, NewBase As Integer) As String
Dim ModBase As Double
 Do
 ModBase = CDbl(DecNumber - (Int(DecNumber / NewBase)) * NewBase)
 DecNumber = Int(DecNumber / NewBase)
 If ModBase > 9 Then ModBase = ModBase + 7
 ConvertToBase = Chr(ModBase + 48) & ConvertToBase
 Loop Until DecNumber = 0
End Function
Function ConvertFromBase(BaseNumber As String, OldBase As Integer) As Double
Dim i As Integer, LetterVal As Integer
 On Error Resume Next
 For i = 1 To Len(BaseNumber)
 LetterVal = Asc(Mid(BaseNumber, Len(BaseNumber) - i + 1, 1)) - 48
 If LetterVal > 9 Then LetterVal = LetterVal - 7
 If LetterVal > OldBase Then GoTo InvalidNumber
 ConvertFromBase = ConvertFromBase + (OldBase ^ (i - 1)) * LetterVal
 Next i
InvalidNumber:
End Function
Upload
Upload
Original Comments (3)
Recovered from Wayback Machine