반응형
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 형식화 옵션에 대한 전체 설명은 여기를 참조하십시오. printf
사용 : "%.2f"
또는 그 변형.
형식 문자열 의 권위있는 사양은 POSIX 사양을 참조하세요 printf()
. 핵심 C99 사양에서 POSIX 엑스트라를 분리합니다. Google 검색에 표시되는 일부 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
반응형
'program tip' 카테고리의 다른 글
int 대신 string :: size_type (0) | 2020.12.11 |
---|---|
SQLite“INSERT OR REPLACE INTO”vs.“UPDATE… WHERE” (0) | 2020.12.11 |
Ruby on Rails에서 has_many 항목 수를 확인합니다. (0) | 2020.12.11 |
ajax 게시물에 대해 수동으로 MVC 3 클라이언트 측 유효성 검사 호출 (0) | 2020.12.11 |
addChildViewController를 호출 한 후 addSubview를 호출해야합니까? (0) | 2020.12.11 |