2016-08-20 1 views
1

부호가있는 2 바이트 정수를 16 진수 문자열로 변환해야하지만 문자열이 4 자이어야합니다. Hex() 함수를 시도했지만 0으로 변환하거나 10을 말하면 결과는 0 또는 A입니다. 결과는 0000 또는 000A가되어야합니다. 조언이나 조언이 있으십니까?어떻게 정수를 4 자리 16 진수 문자열로 변환합니까?

답변

2

를 사용하여 문자열 당신이 사용할 수있는 다음 서식 반대로 당신이 Hex 사용에 deadset 경우

Dim i As Integer = 10 
    Dim hexS As String = i.ToString("X4") 
1

:

Dim Number As Integer 
Dim Output As String 

Number = 10 
Output = ("000" & Hex(Number)) 
Output = Output.Substring(Output.Length - 4, 4) 
Console.WriteLine(Output) 

또는 너무로 숫자 서식 문자열을 사용합니다

Output = Number.ToString("X4") 
Console.WriteLine(Output) 

두 경우 모두 출력은 000A이어야합니다.

4

그냥

Dim hexS As String = i.ToString("X4") 

이 잘 The Hexadecimal (X) Format specifier에 설명되어 있습니다.
X 다음 4는 출력에서 ​​원하는 문자 수를 지정하고 부족한 문자가있는 경우 누락 된 문자는 적절한 수의 "0"으로 제공됩니다.

0

VB는 방법

Format(i, "X4") 

또는 2015 Visual Studio에서

Hex(i).PadLeft(4, "0"c) 

:

당신은 또한 질문 VBA 태그 때문에
s = $"{i:X4}" 
0

, 여기에 그것을 할 수있는 VBA의 방법입니다

Right("0000" & Hex(i), 4) 
관련 문제