2016-03-25 12 views
-2

Ondalık Onaltılı'yı onaltılı dönüştürmek için bu kodu denedim, ancak çalışmaz.VB kullanarak Decimal To Hex dönüştürmek nasıl?

Dim i As Integer 
    Dim x As String = sASC 
    i = Convert.ToInt32(x, 16) 
    TextBox8.Text = i 

Bu benim dönüştürmek istediğim şeydir. 912,697,583,1065,261,627,53,703,544,697,924,1003,697

+0

bu içerirler bir dize mi bir virgülle ayrılmış rakamlar? – Steve

+0

evet, öyle. Onaltılık olarak onluk olarak dönüştürmek istiyorum. – Goma

+1

Lütfen bakınız: http://stackoverflow.com/questions/10504034/how-do-you-convert-a-string-into-hexadecimal-in-vb-net – Jesuisme

cevap

1

Bunu eşdeğer onaltılık değeri girdi dizesindeki her değeri dönüştürür Linq

içinde tek bir kod satırı ile
Dim input = "912,697,583,1065,261,627,53,703,544,697,924,1003,697" 

Dim result = String.Join(",", input.Split(","c). 
           Select(Function(x) _ 
           Convert.ToInt32(x).ToString("X"))) 
Console.WriteLine(result) 

' 390,2B9,247,429,105,273,35,2BF,220,2B9,39C,3EB,2B9 

Bu hedefe ulaşabilir ve 10 değerlerini temel almak virgül ayırıcı

Geri ile dize yeniden (sonuç önceki koddan olan)

Dim result2 = String.Join(",", result.Split(","c). 
          Select(Function(x) _ 
          Convert.ToInt32(x, 16).ToString())) 
Console.WriteLine(result2) 
+0

Teşekkürler, şimdi Hex - Ondalık nasıl dönüştürülecek? Aynı formatta ulaşmak için Yukarıdaki. – Goma

+0

_Convert.ToInt32 (value, frombase) _ Aynı mantığı onaltılık dizgeye uyguladığınız, ancak bir ikinci parametrenin belirtildiği Convert.ToInt32 aşırı yükünü uyguladığınız anlamına gelir. 16 – Steve

+0

Anladım @Steve, ama nasıl yapılacağını bilmiyorum Bunu kodla, bana kod verebilir misin? plz – Goma