2010-11-25 4 views
4

C++의 스트림 조작기와 동일한 C#이 있습니까? 예숫자의 서식을 지정하는 재귀 적 느낌이 적습니까?

int decimalPlaces = 2; 
double pi = 3.14159; 
cout.precision(decimalPlaces); 
cout << pi; 

그것은 숫자를 문자열로 포맷하기 위해 숫자를 문자열로 포맷 할 필요가 이상한 느낌. 예

int decimalPlaces = 2; 
double pi = 3.14159; 
string format = "N" + decimalPlaces.ToString(); 
pi.ToString(format); 

가 C#으로 수행, 또는 내가 뭔가를 그리워 않았다 얼마나 그것?

+1

'string format = "N"+ decimalPlaces;'(메서드 호출 생략)은 클리너이므로 세 번째 줄은'.ToString()'을 의미합니다. – cdhowie

+0

@cdhowie 그래, 알아 들었지만, 과정의 반복적 인 느낌에 대한 내 요점을 강조했기 때문에 나는 그것을 남겼다. – Spike

답변

2

나는 약간 줄어들 것 :

int decimalPlaces = 2; 
double pi = 3.14159; 
pi.ToString("N" + decimalPlaces); 

또한, 당신은 이 그것을 인쇄하기 전에 숫자를 포맷이 없습니다. 인쇄 시설도 서식 구성을 허용합니다.

+0

그러나 서식 구성은 여전히 ​​문자열입니다. 맞습니까? 그래서 decimalPlaces.ToString()을 여전히 호출하고 있습니다. – Spike

+0

C#은 문자열 연결을 수행 할 때 자동으로'ToString()'을 호출합니다. 나는 그것을 피할 수있는 쉬운 방법을 모른다. –

+0

기본적으로, 아니오. 나는 그것을 기대하지 않았다. 감사. – Spike

관련 문제