C#에서 실수(double)를 문자열(String)로 변환하는 두 가지 방법을 소개합니다. 원하는 소수점 자릿수를 지정하는 형식(format) 옵션도 함께 알아보겠습니다.
C# 숫자를 문자열로 변환하는 방법 (int to string) →
C# 문자열을 숫자로 변환하는 방법 (string to int) →
C# double to string 형변환
1. ToString() 메서드 활용
C# double 클래스에는 ToString()이라는 편리한 문자열 변환 메서드가 존재합니다. 실수형 숫자 값을 문자열 표현 방식으로 변환합니다.
기본 사용법
// 변수 선언
double d = 123.4566;
string str = "";
// ToString() 메서드를 사용하여 double 값을 문자열로 변환할 수 있습니다.
str = d.ToString();
// 결과
123.4566
Format 지정 사용법
- ToString("F") - 고정 소수점
- ToString("N") - 숫자
- ToString("0") - 0으로 채우기
- "F" 이외의 지정자는 모두 숫자 3자리당 ","를 포함하여 변환합니다.
- 소수점 자릿수를 지정하고 싶을 경우, 문자 뒤에 숫자를 이용하여 표시합니다.
(소수점 3자리까지 지정 "F3" / "N3") - "0"의 경우 빈자리는 0으로 채우고, 값이 있을 경우 해당 값으로 변환됩니다.
- "0"의 경우 소수점 자릿수를 지정할 때 반올림됩니다.
// 변수 선언
double d = 1234.4567;
string str = "";
// ToString(string format) 메소드를 이용한 문자열 변환
// ToString("F") - 기본적으로 소수점 2자리까지 변환하여 출력
str = d.ToString("F"); // 1234.45
str = d.ToString("F4"); // 1234.4567
// ToString("N") - 기본적으로 소수점 2자리까지 변환하여 출력
str = d.ToString("N"); // 1,234.45
str = d.ToString("N3"); // 1,234.456
// ToString("0") - 표시된 소수점 자리수만큼 변환하여 출력, 빈 자리는 0으로 채움
str = d.ToString("0"); // 1234
str = d.ToString("0.00"); // 1234.46 (반올림)
str = d.ToString("0.0000"); // 1234.4567
str = d.ToString("00000.00000"); // 01234.45670
📌 "0" 포맷은 자릿수를 고정하고, 빈 자리는 0으로 채우며 반올림 처리됩니다.
2. String.Format() 사용법
String 클래스의 Format 함수를 이용하여 실수를 다양한 형태의 문자열로 변환합니다. 이때 0, #을 이용하여 기본적인 소수점 자릿수 표현 방식을 지정할 수 있습니다.
// 변수 선언
double d = 1234.4567;
string str = "";
// String.format(format, double) 메소드를 이용한 문자열 변환
// 소수점 3자리까지 표현
str = String.Format("{0:0.000}", d); // 1234.457
str = String.Format("{0:0.###}", d); // 출력 결과: 1234.457 (소수점 셋째 자리 반올림)
// 소수점 2자리까지 표현
d = 1234.4;
str = String.Format("{0:0.00}", d); // 1234.40
str = String.Format("{0:0.##}", d); // 1234.4
// 소수점 1자리까지 표현
d = 1234.0;
str = String.Format("{0:0.0}", d); // 1234.0
str = String.Format("{0:0.#}", d); // 1234
🔍 #은 값이 없으면 생략되고, 0은 무조건 자리수를 채워줍니다.
✅ 요약
- ToString()은 가장 직관적이고 간단한 변환 방법입니다.
- 포맷 지정자를 활용하면 원하는 자리수로 정확히 표현할 수 있습니다.
- String.Format()은 복잡한 문자열 템플릿이 필요한 상황에서 유리합니다.
함께 보기 좋은 글 :
C#에서 숫자를 문자로 형변환 (int to string) →
C#에서 문자를 숫자로 형변환 (string to int) →
'C#' 카테고리의 다른 글
C# 리스트 중복 제거 방법 – Distinct와 LINQ 예제 (0) | 2025.05.13 |
---|---|
C# int.Parse() 사용 시 발생하는 예외와 해결 방법 (FormatException, OverflowException) (0) | 2025.03.20 |
C#에서 String을 Int로 변환하는 4가지 방법 (TryParse, Parse, Convert, System.Globalization) (0) | 2025.03.20 |
C# LINQ에서 Where 조건문 여러 개 사용하기: 효율적인 필터링 방법 (0) | 2025.03.07 |
[C#] double to int 형변환 (0) | 2023.01.13 |
댓글