developer tip

C : printf a float 값

copycodes 2020. 12. 7. 08:23
반응형

C : printf a float 값


쉼표 뒤에 정수 2 자리와 10 진수 6 자리가있는 부동 소수점 값을 인쇄하고 싶습니다. 그냥 사용 printf("%f", myFloat)하면 잘린 값을 얻습니다.

이것이 항상 C에서 발생하는지 또는 마이크로 컨트롤러에 C를 사용하고 있기 때문인지 (정확히 CCS) 참조에서는 %f잘린 부동 소수점 얻습니다.

내 float가 44.556677이면 "44.55"처음 두 개의 십진수 만 인쇄합니다 .

그래서 질문은 ... 어떻게 내 6 자리를 인쇄 할 수 있습니까 (그리고 그 뒤에 0이있는 경우를 대비하여 6 자리 만)?


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

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

6은 점 뒤의 자릿수를 나타냅니다.

추신 @caf 나를 수정 해 주셔서 감사 합니다.


printf("%9.6f", myFloat) 총 9 개의 문자로 형식을 지정합니다. 점 앞 2 자리, 점 자체, 점 뒤 6 자리입니다.


printf("%.<number>f", myFloat) //where <number> - digit after comma

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


printf("%0k.yf" float_variable_name)

다음 k은 인쇄하려는 총 문자 수입니다. k = x + 1 + y( + 1점의 경우) float_variable_name인쇄 할 부동 변수입니다.

소수점 앞 x 자리와 그 뒤에 y 자리를 인쇄한다고 가정합니다. 이제 float_variable_name 앞의 자릿수가 x보다 작 으면 그 앞에 자동으로 많은 0이 추가됩니다.


사용 %.6f. 이것은 6 개의 소수를 인쇄합니다.


printf 문 %2.6f대신 사용해야 합니다 %f.

참고 URL : https://stackoverflow.com/questions/8345581/c-printf-a-float-value

반응형