Почему поведение Double.ToString не то же самое, что MathContext.Decimal64 при построении больших в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему поведение Double.ToString не то же самое, что MathContext.Decimal64 при построении больших в Java?

Сообщение Anonymous »

Мне кажется, что двойное должно следовать тем же правилам, что и стандарт IEEE, используемый в MathContext.decimal64, однако в этом случае я получаю другое поведение: < /p>

import java.math.BigDecimal;
import java.math.MathContext;

public class BigDecimalTest {

public static void main(String[] args) {

double foo = 8.7;

System.out.println(new BigDecimal(foo, MathContext.DECIMAL64));
System.out.println(new BigDecimal(Double.toString(foo)));

}
}
< /code>

output: < /p>

8.699999999999999
8.7


Подробнее здесь: https://stackoverflow.com/questions/194 ... imal64-whe

Вернуться в «JAVA»