본문 바로가기
Program/C# .NET

[C# VB.NET] 숫자 개수 정렬 및 맞추기 / 글자 수 맞추기 / 글자 수 설정하기

by 냠만 2024. 1. 3.

[개요]

프로그램 하다보면 비트단위를 맞추거나 Comport로 메시지를 보내거나 PLC와 통신 헤더를 구성하거나 등등 많은일에 포맷을 구성해야되는 작업이 필수로 들어가야 한다.

많은곳에 쓰이지만 자주쓰는건 아니라 기억에 잘 안남는다. 매번 검색하기가 귀찮아 글로 써놓으면 기억이 될까 하여 기록으로 남긴다.

일단 소개할 부분은 정수를 기반으로 작성되었는데 사용법은 크게 다르지 않지만 참고가 될까 하여 소수점 관련 작업 방법도 링크로 남겨놓겠다.

 

 

[C#]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Diagnostics;
 
namespace StringFormatCsharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int abc = 12;
            string sTemp = string.Format(abc.ToString("000"));
            Debug.WriteLine("string.Format : " + sTemp);
 
            string format = "000";
            Debug.WriteLine("string format  : " + abc.ToString(format));
 
            sTemp = abc.ToString();
            sTemp = sTemp.PadLeft(3'0');
            Debug.WriteLine("PadLeft : " + sTemp);
 
            sTemp = abc.ToString();
            sTemp = sTemp.PadRight(3'0');
            Debug.WriteLine("PadRight : " + sTemp);
 
        }
    }
}
 
cs

 

출력결과

 

[VB.NET]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Module Module1
 
    Sub Main()
        Dim abc As Int32 = 12
        Dim sTemp As String
        Dim cTemp As Char = "0"
 
        sTemp = Format(abc, "000")
        Debug.WriteLine("Format : " + sTemp)
 
        sTemp = abc
        sTemp = sTemp.PadLeft(3, cTemp)
        Debug.WriteLine("PadLeft : " + sTemp)
 
        sTemp = abc
        sTemp = sTemp.PadRight(3, cTemp)
        Debug.WriteLine("PadRight : " + sTemp)
    End Sub
 
End Module
 
cs

 

출력결과

 

C#이랑 VB랑 사용하는 방식은 비슷하지만 문법이 약간 다를 뿐이다.

VB도 동일하게 format을 선언해서 넣어줄 수 있는데 컨버팅을 따로 안해도 된다는 편리함이 있다.

그나저나 쓸때마다 세미콜론 안쓰는건 언제쯤 적응되려나?

 

[결론]

PadLeft, PadRight 사용하면 된다.

별도로 변수 선언하기 귀찮다 하면 Tostring("자릿수") 사용하면 될 것 같다.