문제

10 진수 포인트를 사용하여 C 프로그램에서 실수를 분할하려고합니다.

(int) whole_num = 1234 (int) fraction = 56

내가이 일을 어떻게 할 수 있는지 아이디어가 있습니까? 내가 C와 함께 멍청한 이후로, 그것은 looooong이었다. :)

도움이 되었습니까?

해결책

void split( double num, int& whole_number, double& fraction) {
    fraction = modf(num, &whole_number);
}

이것은 MODF가 이중의 정수 부분을 취하고 분수 부분을 반환하기 때문에 작동합니다.

다른 팁

문자열을 분할한다고 가정합니다.

strtok_r 그리고 당신이 좋아하는 String-to-num 기능과 같은 기능 strtol

실제 부동 소수점 번호를 다루고 있다면, 그러한 문자열 표현과 달리 사용해야합니다. modf 적분 및 분수 부품을 분할합니다.

Perl 's split Regex에 의해 나뉘어 지므로 전체 기능을 복제하려면 Regex 라이브러리가 필요합니다. 일반적인 문자열 분할을 위해서는 사용할 수 있습니다. strtok,하지만 현장에서 문자열을 변경하기 때문에 strtok_r (같은 페이지에 설명) 대신 권장됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top