몇 가지 이유 때문에 두 개의 정수로 정수 값과 분수 값이 필요합니다. 예를 들어iPhone/iOS에서 Objective C의 기본 수학
:
double aValue = 2.4f;
int aInt = (int)aValue;
int aFract = (int)((aValue - aInt) * 100.0f);
이 쉽게 내가 지금 사용하고이 식을 통해 수행 할 수있는 수학의 내 기본 지식에 따르면, 정수 (12) 및 (34)
로 갈라 값 12.34
그것은 지금까지는 작동하지만 이상한 출력 동작을합니다.
예를 들어 2.30000을 전달하면 '2'와 '29'대신 '2'와 '29'가 표시됩니다.
aInt와 aFract를 Double로 선언하면 처리 결과가 '2.0000'과 '30 .0000 '으로 올바르게 표시되지만 '30 .0000'을 정수로 변환하면 '29'에서 다시 'interestingly'가됩니다.
[당신이 부동 소수점에 대해 알아야 할 사항. (http://docs.oracle.com/cd/ E19957-01/806-3568/ncg_goldberg.html)이 질문은 수백 배 이상의 복제본. –