문제

나는 검색을 위해이 작은하지만 내가 받은 특히 똑바른 대답이다.C 에서(그리고 나는 C++),당신은 어떻게 확인 후에 온%사용하는 경우 printf?.예를 들어:

double radius = 1.0;
double area = 0.0;
area = calculateArea( radius );
printf( "%10.1f     %10.2\n", radius, area );

나는 이 예에서 직접 책을 내에는 C 언어 코드가 포함되어 있습니다.이해가 되지 않는다면 추천합니다.어디에 당신이 당신 10.1f10.2f?할 수 있는 사람이 있었을 설명해 주시기 바랍 이?

도움이 되었습니까?

해결책

http://en.wikipedia.org/wiki/Printf#printf_format_placeholders 이키의 참고를 위한 형식의 자리에서 printf. http://www.cplusplus.com/reference/clibrary/cstdio/printf.html 도 도움이

기본적으로 간단한 형태로 그%[폭].[정밀][type].폭할 수 있는지 확인하는 변수는 인쇄되고 있는 것은 적어도 특정 길이(이용 테이블 등).정밀도를 지정할 수 있는 정밀도 수은 인쇄(예를 들어.decimal places etc.)고 알려준 C/C++어떤 변수는 당신이 주어진 그것은(문자,정수,더블 etc.).

업데이트:

을 명확히 사용 예제:

printf( "%10.1f     %10.2\n", radius, area );

%10.1f(참조하면 첫 번째 인수:반경)의 그것 10 자 길이(ie.패드와 공간),그리고 그것을 인쇄하로 부동 소수점 한 자리.

%10.2(참조하여 두 번째 인수:지역)은 그것을 10 캐릭터 장(위)및 인쇄와 함께 진행하고 있습니다.

다른 팁

man 3 printf

리눅스 시스템에서 모든 필요한 정보를 안내해드립니다.찾을 수 있습니다 또한 이러한 매뉴얼 페이지를 온라인에서 예를 들어, http://linux.die.net/man/3/printf

10.1f 미 부동 소수점으로 1 장소는 소수점 이하의 10 위치한 호텔을 검색하세요.decimal point.을 경우에는 수보다 적은 10 자리 숫자로,그것은 남는 공간은 공백으로 채웁니다.10.2f 은 동일한지만,2 개의 장소를 소수점 이하.

의 모든 시스템에서는 유닉스에서 레일 마이그레이션,이 경우되지 않습니다.@robintw 표현한 그것은 최고의:

기본적으로 간단한 형태로 그%[폭].[정밀][type].

즉,"10 장소 소수점"이지만"10 장소 모두 전과 후,그리고 포함 소수점."

10.1f 미 부동 소수점으로 10 다양한 문자와의 1 위는 소수점 이하.을 경우에는 수보다 적은 10 자리 숫자로,그것은 남는 공간은 공백으로 채웁니다.10.2f 은 동일한지만,2 개의 장소를 소수점 이하.

당신이 이러한 기본적인 유형:

%d   - integer
%x   - hex integer
%s   - string
%c   - char (only one)
%f   - floating point (float)
%d   - signed int (decimal)
%i   - signed int (integer) (same as decimal).
%u   - unsigned int
%ld  - long (signed) int
%lu  - long unsigned int
%lld - long long (signed) int
%llu - long long unsigned int

편집:다른 사람들이 여러 가지 있습니다에 나와@Eli 의 반응은(남자 3printf).

즉,그 후의 값%말 printf 해석하는 방법(또는 출력)의 모든 변수는 오후.귀하의 예 radius 으로 해석되 플로트(이하'f')이며, 10.1 는 방법에 대한 정보를 제공합니다 많은 소수 자릿수를 사용이 그것을 인쇄할 때다.

이 링크 에 대한 더 많은 정보에 대해 모든 수정은 사용할 수 있 printf.

10.1f 하려고 한다는 것을 의미합니다 표시 float 과 1 수 및 번호의 표시 10 자입니다.

남자 페이지를 포함한 정보를 원합니다.무엇을 읽을 위:

printf( "%10.2f", 1.5 )

이로 인쇄됩:

         1.50

반면:

printf("%.2f", 1.5 )

인쇄:

1.50

참고 정의를 모두.마찬가지로:

printf("%10.1f", 1.5 )

인쇄 것이다:

        1.5

수 후.은 정밀도는 당신이 원하는 인쇄했습니다.수하기 전에.은 거리에서 왼쪽 여백입니다.

중 하나가 문제되지 않은 다른 사람에 의해 제기 된 여부 더블float.일부 시스템에서 다른 형식을 지정에 필요한 더블에 비해하고 있습니다.지 않기 때문에 적어도 전달된 매개 변수가 될 수 있습니다.

 %f - float
 %lf - double
 %g - double

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top