2010-12-09 1 views
-2

내가 가진 :나는 형식을 어떻게 이중

double somevar = 3.45; 

나는 다음과 같은 결과가 그것을 포맷해야합니다

  1. "000345을"- 길이는 6
  2. 해야 " 3.45____ "- 길이는 8, 왼쪽 정렬이어야하며 다른 부분은 공백으로 채워야합니다. (필자는이 문자열을 올바르게 표시하지 못하게하는이 서비스의 버그로 인해 여기에 공백 대신 밑줄을 사용하지만 필러는 형식 문자열에 정의해야하기 때문에 실제로 중요하지 않습니다.)

It 's 프로그래밍만으로도 쉽게 할 수 있지만 형식 문자열 만 사용해야합니다. 가능한가?

있다는 :

string format="???"; 
float number = 3.45; 
string output = string.Format(format, number); 

이 실제로 첫 번째 문제는 대답하지 않고 남아 있습니다.

감사합니다. 나는 당신이 스타일을 좋아하는데, 당신이 대답 할 수 없기 때문에이 질문을 좋아하지 않는다, 그렇지?

+1

잘 모르겠다. "3.45"를 "000345"로 포맷 하시겠습니까? – Brosto

+0

이고 두 번째 것은 "3.45"로 포맷 된 "3.450000"입니까? – hunter

+0

Brosto, 오른쪽. 사냥꾼, 아니, "3.45 ____"대신 공백에 밑줄을 긋아야합니다 (나는 적절한 문자열을 보여줄 수없는 버그라고 생각합니다). – mimic

답변

3
double somevar = 3.45; 

string s = string.Format("{0:000000}", (int)(somevar*100.0)); 
string t = string.Format("'{0,-8:0.00}'", somevar); 

string.format에서 문서를 보는 데 약 30 초가 걸렸습니다.

+0

첫 번째 조건은 잘못된 것입니다 : 입력 만 숫자와 형식 문자열, 코드는 어떤 마법 번호와 동작도 사용해서는 안됩니다 - 순수한 형식 지정 만 사용하십시오. 또한 입력 번호가 3.456이면 어떻게됩니까? 보편적이어야합니다. – mimic

+1

Seacat : 게시 된 질문에 답변했습니다. 사실 이후에는 규칙을 변경할 수 없습니다. 숙제 인 경우 다음에 전체 질문을 게시하면 더 나은 답변을 얻을 수 있습니다. – Robaticus

+0

두 번째 대답은 실제로 작동합니다. 덕분에 너무 많이! – mimic