2012-05-08 42 views
0

是否可以將文本字符串轉換爲八進制數字?如果是這樣,我如何將八進制轉換爲文本和文本到八進制?如何在VB.NET中將字符串轉換爲八進制數?

哦,現在我明白它是如何工作的。我認爲十六進制和八進制是兩個不同的東西,但實際上它是兩個不同的基礎。對第二篇文章抱歉。

+0

「八進制數」是什麼意思?請解釋預期的輸入和輸出。 – Oded

+1

類似於http://stackoverflow.com/questions/10504034/how-do-you-convert-a-string-into-hexadecimal-in-vb-net/10504215#10504215 – Tilak

+0

同意的基礎是不同的。但是如果你明白如何轉換爲hexa,轉換爲八進制就很簡單。 – Tilak

回答

4

您可以使用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. 
+0

謝謝!問題解決了。 –

1

要轉換成八進制,使用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 

上述功能來自this question。 C#到VB轉換使用this完成。 (我從a similar question貼上了我的回覆。)

+0

但不是十六進制和八進制不同?我使用了一個轉換器,並得到了不同的結果 –

+0

它們是不同的 - 八進制數是基數8,十六進制數是基數16 – Kogitsune

+0

同意基數是不同的。但是如果你明白如何轉換爲hexa,轉換爲八進制就很簡單。 – Tilak

相關問題