Как вы конвертируете строку в восьмеричное в VB.NET?

Можно ли преобразовать строку текста из текстового поля в восьмеричные числа? Если это так, как я могу преобразовать восьмеричный в текст и текст в восьмеричный?

О, теперь я понимаю, как это работает. Я думал, что hex и восьмеричное - это две разные вещи, но на самом деле это две разные основы. Извините за второй пост.

2 ответа

Решение

Ты можешь использовать Convert.ToInt32(String, Int32) Method и передать 8 в качестве базы.

Dim octal As Int32 = Convert.ToInt32(TxtOctalNumber.Text, 8)

Второй параметр fromBase

Type: System.Int32
The base of the number in value, which must be 2, 8, 10, or 16. 

Чтобы преобразовать в восьмеричное, используйте Convert.ToInt32 (val, 8). Convert.ToInt32 поддерживает ограниченные базы, 2, 8, 10 и 16.

Чтобы преобразовать в любую базу,

Public Shared Function IntToString(value As Integer, baseChars As Char()) As String
    Dim result As String = String.Empty
    Dim targetBase As Integer = baseChars.Length

    Do
        result = baseChars(value Mod targetBase) + result
        value = value / targetBase
    Loop While value > 0

    Return result
End Function

Вышеуказанная функция исходит из этого вопроса. C#-в-VB преобразование было сделано с использованием этого. (Я вставил свой ответ на аналогичный вопрос.)

Другие вопросы по тегам