두 개의 값이 있다고 가정하면 double
입니다. 그들 중 하나는 매우 크고 그 중 하나는 매우 작습니다.java.lang.Double의 정밀도 손실
double x = 99....9; // I don't know the possible max and min values,
double y = 0,00..1; // so just assume these values are near max and min.
이러한 값을 함께 추가하면 정밀도가 떨어 집니까?
다른 말로하면 int
값을 할당하면 최대 double
값이 증가합니까? 그리고 작은 정수 부분을 선택하면 최소 double
값이 감소합니까?
double z = x + y; // Real result is something like 999999999999999.00000000000001
[여기] (http://stackoverflow.com/questions/177506/why-do-i-see-a-double-variable-initialized-to-some-value-like-21-4-as- 21-3999996) – Dima
정밀도가 걱정된다면'double'을 사용하지 말고'BigDecimal'을 사용하십시오. – geert3
@ geert3'BigDecimal'은 나누기가 필요할 때마다 정밀도를 유지할 것을 보장하지 않습니다. –