2012-05-08 39 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

相关问题