
vsprintf 함수는 정수 값을 출력할 때 소수점까지 출력하지 않습니다. 이는 %d 형식이 정수 값을 출력하기 때문입니다. 정수 값은 소수점이 없는 값을 의미하므로 소수점까지 출력하지 않습니다.
정수 값을 소수점까지 출력하고 싶다면 %f 형식을 사용해야 합니다.
예를 들어, 코드는 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
int num = 10;
char str[100];
vsprintf(str, "%.1f", &num);
printf("%sn", str);
return 0;
}
이 코드를 컴파일하고 실행하면 \"10.0\"이 출력됩니다. %.1f 형식은 소수점 첫 번째 자리까지 출력합니다.
또한, 정수 값을 소수점까지 출력하고 싶다면 float 형식으로 변환해야 합니다.
#hostingforum.kr
c
#include
int main() {
int num = 10;
float float_num = (float)num;
char str[100];
vsprintf(str, "%.1f", &float_num);
printf("%sn", str);
return 0;
}
이 코드를 컴파일하고 실행하면 \"10.0\"이 출력됩니다.
vsprintf 함수의 format string에 %d 형식 지정 시 정수 값이 소수점으로 표현되는 문제를 해결하기 위해서는 정수 값을 소수점까지 출력하고 싶은 형식을 사용하거나 정수 값을 float 형식으로 변환해야 합니다.
2025-05-30 22:00