어떠한 정수 결과값에 대해 소숫점값 (ex. 5.007..)을 나눈 나머지값을 구하려고 하는데
정수 % 5.007 이라던가
double a = 5.007 선언하고
정수 % a 로 해도 안되잖아요
어떻게 저 소숫점을 나눈 나머지값을 구할 수 있나요?
어떠한 정수 결과값에 대해 소숫점값 (ex. 5.007..)을 나눈 나머지값을 구하려고 하는데
정수 % 5.007 이라던가
double a = 5.007 선언하고
정수 % a 로 해도 안되잖아요
어떻게 저 소숫점을 나눈 나머지값을 구할 수 있나요?
나누는 수와 나눠지는 수에 각각 10^N 곱해서 정수로 만드셈 - dc App - dc App
그리고 결과값을 10^N으로 나누면 끝 - dc App
오!감사합니다
아 나누는수는 이미 정수인데 10^N 곱할필요 없는거죵??
아뇨. 둘 다 곱해야 합니다 - dc App
20 % 3 != 20 % 30이니깐요 - dc App
근데 (double)정수 % 소수 이렇게 하면 에러 남? - dc App
앗.. 이거 다른방법을 써야하나요? 아예 변수에 저장한건 % 연산이 안먹히네용.. 정수로 바꿔도
result % 5.007이 안먹혀서 div라는 변수에 5.007 저장후 int형변환하고나서 result % div 했는데 정수 계열 형식이 있어야 한다네용
(정수*10^N) % (int)(소수*10^N) - dc App
으아 감사합니다
10^N으로 다시 나누기 전에 double 타입으로 형변환해줘야 하고요 - dc App
(double)정수 % 소수도 되는지 시험해보세요 - dc App
엇.. 5.007에 대해서 1000을 곱해주면 5007이 나와야 하는 것 아닌가요? 계속 10^N 곱해주면 500000.. 이런식으로 뒤에 0만 붙네여
넵 그건 시험해볼게요
(double)정수 % 소수 이건 안되네요 ㅎㅎ
(int)소수 * 10^N 하신 건 아니죠? - dc App
아이고 이런 터무니없는 실수를
정수 * 10^N % (int)(소수 * 10^N) -> 정수 = (double)정수 -> 정수 / 1000
이 순서가 맞나요?
한 줄로 짜면 (double)((정수 * 10^N) % (int)(소수 * 10^N)) / 10^N 이렇게 되죠 - dc App
오 감사합니다!!
네 그럼 열심히 하세요 형 - dc App
감사합니다!! 해결!