it-source

C: 플로트 값을 인쇄합니다.

criticalcode 2023. 1. 15. 16:56
반응형

C: 플로트 값을 인쇄합니다.

쉼표 뒤에 2자리 정수, 10진수 6자리 부동값을 출력하고 싶습니다.그냥 쓰면printf("%f", myFloat)값이 잘립니다.

이것이 항상 C에서 발생하는 것인지 아니면 단지 C를 마이크로컨트롤러(정확히는 CCS)에 사용하고 있기 때문에 발생하는 것인지 알 수 없습니다만, 참조에서는 다음과 같이 되어 있습니다.%f잘려나간 플로트입니다.

만약 내 수레가44.556677인쇄중입니다."44.55"는 처음 두 자리 소수점만 나타냅니다.

그래서 질문은...6자리 숫자(그리고 6자리 숫자만)를 인쇄하려면 어떻게 해야 하나요?

다음과 같이 할 수 있습니다.

printf("%.6f", myFloat);

6은 소수점 구분 기호 뒤의 자릿수를 나타냅니다.

printf("%9.6f", myFloat)는 도트 앞의 2자리 숫자, 도트 자체 및 도트 뒤의 6자리 숫자 등 총 9개의 문자로 이루어진 형식을 지정합니다.

printf("%0k.yf" float_variable_name)

여기서k인쇄하는 문자의 합계수입니다. k = x + 1 + y(+ 1점의 경우) 및float_variable_name출력할 부동 변수입니다.

소수점 앞에 x자리와 소수점 뒤에 y자리가 인쇄된다고 가정합니다.여기서 float_variable_name 앞의 자리수가 x보다 작을 경우 그 앞에 자동으로 0이 추가됩니다.

부동소수점 인쇄에서 올바른 정렬의 문제를 명확히 하기 위해 사용해 보십시오.

printf(" 4|%4.1lf\n", 8.9);
printf("04|%04.1lf\n", 8.9);

출력은

 4| 8.9
04|08.9
printf("%.<number>f", myFloat) //where <number> - digit after comma

http://www.cplusplus.com/reference/clibrary/cstdio/printf/

사용하다%.6f소수점 이하가 6개 인쇄됩니다.

를 사용해야 합니다.%2.6f대신%f당신의 printf 스테이트먼트에서

언급URL : https://stackoverflow.com/questions/8345581/c-printf-a-float-value

반응형