질문 페이지 / 게시물에서 볼 때 Stack Exchange의 다양한 평판 수준이 다르게 형식화되어 있다는 것을 알고있을 것입니다. 모든 형식 지정 규칙이 있습니다.
- 사용자에게 1 ~ 999 (1 ~ 3 자리)의 담당자가있는 경우 그대로 유지됩니다.
- 사용자가 1000에서 9999 회 (4 자리 숫자)를 가진 경우 쉼표를 구분 기호로받습니다.
9,999 사용자가 10000에서 99999 사이의 응답 (5 자리)을 가진 경우 단축되고 반올림됩니다. 즉, 16741 rep 형식
16.7k은로 표시됩니다. 하위 구분 (이전 지점)의 쉼표와 달리 점 구분 기호를 확인하십시오.16750은 이미 결과가 나올 것입니다
16.8k( 고정 된 것으로 보이므로 )16941의 결과는
16.9k16950으로 반올림17k되며 예를 들어 17014입니다.99941은으로
99.9k, 99950은으로 반올림합니다100k(이것은 제가 SE에서 rep-rounding으로 실제로 싫어하는 것입니다. 100,000은 그런 이정표이고 99950은 어디에도 없기 때문입니다).
사용자가 100000에서 999999의 담당자를 가지고 있다면 다음과 같이 반올림됩니다.
100100
100k은로 내림하고 100500은로 내림합니다101k. 문제는 반올림이 수행되지만 소수점 이하 자릿수가 제거됩니다 (4 자리 rep와 달리).100450은로 반올림하고
100k450에서 500을 반올림하는 단계는 없습니다100k. 100499도 마찬가지 입니다.279843은로 반올림
280k하고 399999는로 반올림합니다400k.
입력으로, 당신은 원시 평판을 받고 형식으로 출력합니다.
입력에 유효하지 않은 숫자 / 숫자가 아닌 숫자 또는 선행 0이있는 숫자가 수신 되지 않는다고 생각할 수 있습니다 0001234.
Jon Skeet이 곧 1,000,000 개에 도달하지 않는 것 같으므로 코드는 가능한 한 짧아야합니다. 즉 백만을 초과하는 담당자를 처리 할 필요가 없습니다 (예 : 999500 이상에서는 특별한 경우는 없음).
.다음 소수점으로 표시k0 하여 설명을 단축 할 수 있다고 생각합니다. 접미사로 ; 세 번째 유효 숫자가 소수점 오른쪽에있는 경우 값은 2 개의 유효 숫자로만 표시 된다는 경고에 따라야합니다 . "특정 컷오프는 단일 테스트 목록으로 이동할 수 있습니다. 게시물 끝에있는 사례로, 테스트 프레임 워크에 복사하여 붙여 넣기에 더 편리합니다.