sprintf에서 실수형 출력 문제입니다.

goatee98의 이미지

소수점 한자리까지만 문자열로 만들고 싶습니다.
char buff[128];
sprintf(buff, "%.1f", 1.45f);
printf("결과 => %s\n", buff);
결과 => 1.5 이 나옵니다
반올림 안되고 1.4 가 나오게 할려면 어떻게 해야하나요??

purluno의 이미지

1.45f - 0.05f 하는게 가장 간단하겠네요. 아니면 floorf(1.45f * 10) / 10을 해도 되겠구요.

goatee98의 이미지

이렇게 간단하게 해결 되는걸 소수점 한자리까지만 나오는 함수를 찾고 있었네요..^^
여튼 제 손발이 고생하는거 같네요..ㅋㅋ