Android NumberFormat - PullRequest
       3

Android NumberFormat

0 голосов
/ 06 сентября 2010

Вот мой код:


NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(14);
nf.setMinimumFractionDigits(0);
double d = 0;
System.out.println(nf.format(d));

С Android SDK: выводит «0.00000000000001» С Java SDK (j2SE): он печатает «0»

Почему эта разница? ошибка в классе NumberFormat для Android SDK?

1 Ответ

0 голосов
/ 06 сентября 2010

Я, вероятно, потому, что, как правило, числа с двойной точностью не являются точными ... вы не можете иметь маленькие 0 и 1, чтобы создать точное число, которое вы ищете, поэтому, с помощью Java SDK, он, вероятно, имеет алгоритмы дляопределить, находится ли оно внутри значения Epsilon, а ОС Android - нет.Так что да, это, вероятно, ошибка в NumberFormatter на ОС Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...