programing

printf()를 사용하여 소수점 이하 두 자리 수

randomtip 2022. 7. 11. 22:45
반응형

printf()를 사용하여 소수점 이하 두 자리 수

소수점 이하 두 자리까지 숫자를 쓰려고 하는데printf()다음과 같습니다.

#include <cstdio>
int main()
{
  printf("When this number: %d is assigned to 2 dp, it will be: 2%f ", 94.9456, 94.9456);
  return 0;
}

프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

# ./printf
When this number: -1243822529 is assigned to 2 db, it will be: 2-0.000000

왜 그런 것일까요?

고마워요.

네가 원하는 건%.2f,것은 아니다.2%f.

또, 이 경우,%d와 함께%f;)

#include <cstdio>
int main()
{
printf("When this number: %f is assigned to 2 dp, it will be: %.2f ", 94.9456, 94.9456);
return 0;
}

다음과 같이 출력됩니다.

이 번호 94.945600이 2dp에 할당되면 94.95가 됩니다.

printf 포맷 옵션에 대한 자세한 내용은 여기를 참조하십시오.

용도:"%.2f"변형을 주기도 합니다.

의 정규 사양에 대해서는, POSIX 사양을 참조해 주세요.printf()형식을 지정합니다.POSIX 엑스트라와 코어 C99 사양이 분리되어 있는 것에 주의해 주세요.구글 검색에서 볼 수 있는 C++ 사이트도 있지만, SO의 다른 곳에서 볼 수 있는 코멘트로 미루어 볼 때, 적어도 몇몇은 의심스러운 평판을 가지고 있다.

C++로 코딩하고 있기 때문에 아마 피해야 할 것 같습니다.printf()그리고 그 친척들.

위해서%d파트는 이 프로그램을 어떻게 작동합니까? 및 소수점 이하에 대해서는 다음을 참조하십시오.%.2f

%d와 같은 형식을 사용해 보십시오.%02d

int iAmount = 10050;
printf("The number with fake decimal point is %d.%02d", iAmount/100, iAmount%100);

또 다른 방법은 다음과 같이 %f를 사용하여 인쇄하기 전에 두 배로 주조하는 것입니다.

printf("The number with fake decimal point is %0.2f", (double)(iAmount)/100);

나의 2센트 :)

언급URL : https://stackoverflow.com/questions/4784336/two-decimal-places-using-printf

반응형