"나는 이미이 사실을 알고 있어야합니다"라는 질문을 용서해주세요.하지만 결과를 얻기 위해이 평가의 부서 측을 실행할 방법이 보이지 않습니다. 진실로 되돌아 오기. 나는 다음과 같은 작동 할 수 있도록, 특정 정밀도 부동 소수 (float)로 결과를 반환하는 함수를 찾고 있어요부동 소수점 숫자를 비교하는 방법
...
float a = 0.66;
if(magicPrecisionFunction(2.0f/3.0f , 2) == a){ //the 2 specifies the level of precision
//something
}
나는 2 분 안에 자신이 쓸 수 있다는 걸 이 작업을 "올바르게"수행 할 수있는 Java 고유의 방법을 찾고자했습니다.
을 사용하는 것입니다, 당신은 부동 소수점 숫자에 대한 정확한 값을 가질하지 않습니다. 이 숫자를 처리하려면 'BigDecimal'을 대신 사용하십시오. 유감스럽게 생각하지만 예, 아마도 * 이미 알고 있어야합니다 *. –
불합리한 숫자는 아닙니다. 부동 유형으로 표현할 수있는 모든 유한 수는 합리적입니다. – Paulpro
AFAIK 결과를 반올림 할 수 있습니다. [java.math.BigDecimal'] (http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html) 문서를 볼 수 있다면 [BigDecimal # setScale'] (http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#setScale%28int,%20int%29) –