[개요]
프로그램 하다보면 비트단위를 맞추거나 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("자릿수") 사용하면 될 것 같다.